我想根据数据网格的选定项数获得可见性。但是,这在 WinUI 中似乎不起作用,但在 WPF 中却可以正常工作?
转换器:
public object Convert(object value, Type targetType, object parameter, string language)
{
if ((int)value == 1)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
裝備:
Visibility="{Binding ElementName=DataGrid,Path=SelectedItems.Count,
Converter={StaticResource Converter}}"
还尝试使用 x:Bind:
Visibility="{x:Bind DataGrid.SelectedItems.Count,
Converter={StaticResource CountToVisibilityConverter}}"
我觉得该属性没有更新。如果我在转换器中设置断点,它只会在初始阶段被调用。
这是因为这
Count
只是普通属性,并且不会在改变时通知 UI。实现此目的的一种方法是仅使用
SelectionChanged
事件并检查SelectedItems.Count
。另一种方法是
DataGrid
使用DependencyProperty创建自定义属性。例如:像这样使用它: