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 в вашем приложении, чтобы избежать подобных действий в коде.