【发布时间】:2011-12-29 11:47:40
【问题描述】:
我的窗口的 XAML:
<ListView Grid.Row="0" Name="files">
<ListView.Resources>
<DataTemplate x:Key="CheckboxTemplate">
<CheckBox IsChecked="{Binding Save, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding Path=File, Converter={StaticResource NotEmptyStringConverter}}" />
</DataTemplate>
<DataTemplate x:Key="SelectFileTemplate">
<Button Click="Button_Click" Content="Select" />
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header=" " Width="auto" CellTemplate="{StaticResource CheckboxTemplate}" />
<GridViewColumn Header="Datei" DisplayMemberBinding="{Binding File}" Width="auto"/>
<GridViewColumn CellTemplate="{StaticResource SelectFileTemplate}" />
</GridView>
</ListView.View>
</ListView>
我想查看按钮 (SelectFileTemplate),如果 a) ListView 的行被选中,b) 如果 File-Property 为空
为此,我可以在按钮的 Visibility-Property 上使用 MultiBinding。 我知道如何绑定到文件属性,但是如何绑定到行选择?
以及如何确定(在 Button_Click 代码隐藏中)我按下了哪个 Select-Button?我需要 ListViewItem 和此 ListViewItem 的单击按钮之间的关系
【问题讨论】:
-
你想在
Button_Click中做什么? -
在 Button_Click 中打开了 SaveFileDialog,用户选择了一个文件,路径 (sfd.FileName) 应该写入 ListViewItem 的 File-Property - 那么如何访问这个 ListViewItem?