Изменить свойство связанного объекта при нажатии кнопки в WPF - PullRequest
0 голосов
/ 31 августа 2010

Я связал объект с элементом управления WPF. Как я могу переключить свойство объекта "IsEditMode" при нажатии кнопки редактирования , используя только xaml и без кода позади ? Вот пример кода xaml -

<Label Style="{StaticResource TitleLabel}" 
       Content="{Binding Path=GroupTitle}" 
       Visibility="{Binding Path=IsEditMode, Converter={StaticResource boolToVis}}"
       HorizontalAlignment="Left" />

<Button Content="Edit" HorizontalAlignment="Right" VerticalAlignment="Center">
    <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
            <!--Toggle the bindedobject.IsEditMode property of click of button-->
        </EventTrigger>
    </Button.Triggers>
</Button>

Ответы [ 2 ]

1 голос
/ 31 августа 2010

с использованием только xaml и без кода

Я не думаю, что это вообще возможно без кода C # (или VB), но вы можете сделать это без кода, используя MVVM . Таким образом, у вас будет код на C #, но не в коде позади ...

Если вы идете по этому пути, вам нужно выставить команду из вашей ViewModel:

    private DelegateCommand _enterEditModeCommand;
    public ICommand EnterEditModeCommand
    {
        get
        {
            if (_enterEditModeCommand== null)
            {
                _enterEditModeCommand= new DelegateCommand(EnterEditMode);
            }
            return _enterEditModeCommand;
        }
    }

    private void EnterEditMode()
    {
        IsEditMode = true;
    }

И свяжите свою кнопку с этой командой:

<Button Content="Edit" Command="{Binding EnterEditModeCommand}"
        HorizontalAlignment="Right" VerticalAlignment="Center">
0 голосов
/ 31 августа 2010

Для этого уже есть элемент управления:

<Label Style="{StaticResource TitleLabel}" 
       Content="{Binding Path=GroupTitle}" 
       Visibility="{Binding Path=IsEditMode, Converter={StaticResource boolToVis}}"
       HorizontalAlignment="Left" />

<ToggleButton Content="Edit" HorizontalAlignment="Right" VerticalAlignment="Center"
       IsChecked="{Binding IsEditMode}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...