0
Я хочу включить диалоговое окно «Применить», когда содержимое некоторых текстовых полей в этом диалоговом окне изменится.Диалог триггера Состояние кнопки «Применить»
Вот что я придумал:
<Window.Resources>
<ResourceDictionary>
...
<Style x:Key="SettingTextBoxStyle" TargetType="{x:Type TextBox}">
<Style.Triggers>
<EventTrigger RoutedEvent="TextBox.TextChanged" >
<!-- I need something like this -->
<Setter Property="ApplyButton.IsEnabled" Value="True" />
</EventTrigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</Window.Resources>
<!-- in a galaxy far far away -->
<StackPanel>
...
<TextBox Style="{StaticResource SettingTextBoxStyle}" Text="{Binding Source={x:Static settings:Settings.Default}, Path=OutputFile}" />
</StackPanel>
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Right">
<Button Content="OK" Width="100" Click="OK_Click"/>
<Button Content="Cancel" Width="100" Click="Cancel_Click" />
<Button Content="Apply" Name="ApplyButton" Width="100" Click="Apply_Click"/>
</StackPanel>
Как достичь ApplyButton.IsEnabled
свойства в моем триггере событий?
Должен ли я вместо этого просто использовать тот же самый TextChanged
обработчик события в обратном коде?
Или что-то еще?
«Имя_целевого_объекта свойство не может быть установлен на стиль сеттер». И мне нужен стиль с некоторыми текстовыми полями в этом диалоговом окне .. а .. не связаны с настройками. Спасибо, в любом случае. – jonny
Да, я проверил это, вот почему я добавлял EventTrigger в триггеры TextBox вместо того, чтобы использовать его в стиле. В вашем случае вы также можете использовать команды. – viky
прошу вас, каким образом? – jonny