【发布时间】:2015-05-30 04:32:39
【问题描述】:
我在商店应用中有一个网格视图,它动态绑定到集合
<GridView x:Name="Gridview1" Height="180" HorizontalAlignment="Left" VerticalAlignment="Top"
ScrollViewer.HorizontalScrollMode="Disabled" SelectionMode="None" >
<GridView.ItemTemplate>
<DataTemplate >
<Border Background="White" BorderBrush="LightGray" BorderThickness="3" Height="150" Width="150" Tapped="peopleDashboard_Tapped" PointerEntered="Gridview1_PointerEntered" PointerExited="Gridview1_PointerExited" >
<Grid Margin="5" >
<TextBlock Text="{Binding TileName}" FontSize="18" HorizontalAlignment="Center" VerticalAlignment="Top"
TextWrapping="Wrap" TextAlignment="Center"></TextBlock>
<TextBlock Text="{Binding TileValue}" Foreground="Orange" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center"
TextWrapping="Wrap" TextAlignment="Center"></TextBlock>
</Grid>
</Border>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
我正在像这样在代码中绑定这个 gridview
Gridview1.ItemsSource = listObj;
我会得到 7 盒。 on hover gridview 每个项目都有一个悬停边框颜色。
我只需要禁用 gridview 中的一个特定项目。
我可以写Gridview1.IsEnabled = false 来禁用整个gridview。
但我只需要禁用特定项目。
这是填充的网格视图的图片
这是禁用的网格视图。
我只需要禁用 gridview 中的一个框。 有什么可能的建议吗?
【问题讨论】:
-
您可以将布尔属性“IsEnabled”添加到您的 listObj,然后使用数据绑定将其绑定到网格的 isEnabled 属性(而不是整个 gridview)
-
你有什么尝试吗?
-
那行不通。数据绑定到整个gridview。它不会设置“IsEnabled”。 DataTemplate 中的项目是没有“IsEnabled”属性的边框和网格。
-
我尝试了另一种方法,通过使用指针输入和指针退出事件,将指针光标设置为红色不可点击的通用编号 Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core。 CoreCursor(Windows.UI.Core.CoreCursorType.UniversalNo, 1);但这并不是我真正想要的。
-
为什么使用 Window.Current.CoreWindow.PointerCursor ... 只需将 DataTemplate 从
提取到 UserControl。在 PointerEvents 上的这个 UserControl 挂钩中,如 PointerEntered、PointerExited 等,并实现控件的可视化,例如PointerEntered 上的蓝色边框
标签: c# xaml gridview windows-store-apps