проблемы с x: Bind Mode = OneWay - PullRequest
       31

проблемы с x: Bind Mode = OneWay

0 голосов
/ 05 октября 2018

Я использую x: Bind with mode = 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 проверяет, является ли объект не нулевым.

public class Converters
{
    public static bool  IsNotNull(object value) => value != null;
}

ViewModel.SectedItemпоказать выбранный элемент в сетке данных.Поэтому, когда я выбираю элемент в DataGrid, кнопки панели приложения должны установить для свойства isEnabled значение true.

Но: 2 первая кнопка сверху должна быть доступна, но это не

1 Ответ

0 голосов
/ 05 октября 2018

Создайте свойство и привяжите его к IsEnabled, как показано ниже. IsEnabled = "{x: Bind propertyName)

В установщике свойств используйте OnPropertyChanged (" propertyName ")

...