我希望在用户双击某个项目时,使
有什么想法或指针吗?
更新: 我还有一个问题,如何访问有关
目前,
被引用的样式如下:
ListView
可编辑。我知道网上有很多示例,但这些示例都基于IsSelected
属性,而不是处理双击事件。有什么想法或指针吗?
更新: 我还有一个问题,如何访问有关
ListViewitem
的数据模板中的控件?我迷失方向的地方在于我需要访问控件,并根据该项是否正在被编辑来启用或禁用控件。目前,
ListView
的数据模板如下:<DataTemplate>
<Grid>
<TextBlock Width="180" Text="{Binding Path=Description}"
Style="{StaticResource GridBlockStyle}" />
<TextBox Width="180" Text="{Binding Path=Description}"
Style="{StaticResource GridEditStyle}" />
</Grid>
</DataTemplate>
被引用的样式如下:
<Window.Resources>
<Style TargetType="{x:Type TextBlock}" x:Key="GridBlockStyle">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Visibility" Value="{Binding Path=IsSelected,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ListViewItem}},
Converter={StaticResource boolToVis},
ConverterParameter=False}" />
</Style>
<Style TargetType="{x:Type FrameworkElement}" x:Key="GridEditStyle">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Visibility" Value="{Binding Path=IsSelected,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ListViewItem}},
Converter={StaticResource boolToVis},
ConverterParameter=True}" />
</Style>
</Window.Resources>
BoolToVisibilityConverter
是ListViewItem
的IsSelected
属性的转换器,它决定了ListViewItem
的Visibility
。根据当前的XAML标记,编辑控件将在选择项目时激活(变为可见),而不是在双击项目时激活。
更新2: 到目前为止,所有的建议只让我完成了解决方案的一半。有没有人能提供一个可行的解决方案,来让我访问需要设置为可见/不可见的实际控件?我会把那个答案标记为解决方案!