WPF C# устанавливает свойство триггера в управление кодом

<ContentControl Width="130"
                Height="130"
                Canvas.Top="60"
                Canvas.Left="50"
                ***Selector.IsSelected="True"***
                Style="{StaticResource DesignerItemStyle}">

Я хотел бы установить свойство Selector.IsSelected в ContentControl используя код позади. Но я не знаю, как это сделать. Пожалуйста, помогите мне и приведите пример.

2 ответа

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

        ContentControl x;
        //To set the value
        x.SetValue(Selector.IsSelectedProperty, true);

        //To Clear the value
        x.ClearValue(Selector.IsSelectedProperty);

        //Set using the static function on Selector
        Selector.SetIsSelected(x, true);

Для доступа к элементу управления в Code-behind вам необходимо сначала дать ему имя -

<ContentControl 
    x:Name=""ContentControl1"
    Width="130" 
    Height="130" 
    Canvas.Top="60" 
    Canvas.Left="50" 
    ***Selector.IsSelected="True"*** 
    Style="{StaticResource DesignerItemStyle}"> 

а затем вы можете получить к нему доступ в коде и установить значение, как указано в другом ответе -

ContentControl1.SetValue(Selector.IsSelectedProperty, true);

Помимо этого, было бы неплохо взглянуть на создание свойства в code-behind или ViewModel(MVVM) и связать его непосредственно с вашим элементом управления следующим образом:

<ContentControl 
    Width="130" 
    Height="130" 
    Canvas.Top="60" 
    Canvas.Left="50" 
    Selector.IsSelected="{Binding IsSelectedBoolProperty, Mode=OneWay}"
    Style="{StaticResource DesignerItemStyle}"> 

Эти методы будут очень полезны, если в вашем окне много элементов управления, и я бы посоветовал вам взглянуть на реализацию MVVM в вашем приложении, чтобы избежать подобных действий в коде.

Другие вопросы по тегам