Я использую x:Bind с режимом=OneWay.
<CommandBar
DefaultLabelPosition="Bottom"
RelativePanel.RightOf="AutoSuggestBoxSearchItem">
<AppBarButton
x:Name="DetailsButton"
Icon="Contact"
Label="View details"
IsEnabled="{x:Bind converters:Converters.IsNotNull(ViewModel.SelectedItem), Mode=OneWay}"/>
<AppBarButton
x:Name="DeleteButton"
Icon="Delete"
Label="Delete"
IsEnabled="{x:Bind converters:Converters.IsNotNull(ViewModel.SelectedItem), Mode=OneWay}"/>
<AppBarSeparator/>
<AppBarButton
x:Name="AddButton"
Icon="Add"
Label="Add"/>
IsNotNull check's if object is not null.
public class Converters
{
public static bool IsNotNull(object value) => value != null;
}
ViewModel.SectedItem показывает выбранный элемент в сетке данных. Поэтому, когда я выбираю элемент в DataGrid, кнопки панели приложений должны устанавливать для свойства isEnabled значение true.
Но: 2 первая кнопка сверху должна быть доступна, но это не так