Если при нажатии кнопки содержимое кнопки меняется на «ARMED», а текстовое поле IsEnabled становится ложным и светло-серым.
Это цель моего приложения.Дело в том, что он мне нужен в ресурсе, а не в
Следующие работы в сетке:
Описание: ToggleButton имеет свойство IsChecked с этим я переключаю содержание кнопки.Кроме того, IsChecked используется в качестве DataTrigger в текстовом поле.
<Window x:Class="EnableDisableUeberButton.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:EnableDisableUeberButton"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<StackPanel>
<TextBox x:Name="Software" Text="TextToEnableDisable">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=ToggleButton}" Value="true">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<ToggleButton x:Name="ToggleButton">
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Content" Value="Disarmed"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="ARMED"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</StackPanel>
</Grid>
Как сделать то же самое в ресурсе
Описание: такое же поведение, которое мне нужно в качестве ресурса.Проблема в том, что я не могу связать статический ресурс.Что работает, когда я использую только xaml .
Вопрос к Коду обрезанного ресурса , который не работает, и мне нужна помощь
В ControlTemplate TextBox я показываю, что мне нужно.
- Как мне получить из StaticResource ToggleButton Свойство IsChecked ?
- Как я могу использовать IsChecked в качестве триггера для включения или отключения текста из TextBox в шаблоне ToggleButton?
Snipped:
<Window x:Class="EnableDisableUeberButton.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:EnableDisableUeberButton"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<ControlTemplate x:Key="ToggleButton" >
<ToggleButton >
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Content" Value="Disarmed" />
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="ARMED" />
<Setter Property="Foreground" Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</ControlTemplate>
<ControlTemplate x:Key="TextBox" x:Name="Software">
<TextBox Text="TextToEnableDisable">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Trigger Property="{Binding Source=ToggleButton, Path=IsChecked}" Value="false">
<Setter Property="TextBox.IsEnabled" Value="False" />
</Trigger>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TextBox.Style>
</TextBox>
</ControlTemplate>
</Window.Resources>
<Grid>
<StackPanel>
<Label>Template Test</Label>
<TextBox Template="{StaticResource TextBox}" Text="TextToEnableDisable"></TextBox>
<ToggleButton Template="{StaticResource ToggleButton}"></ToggleButton>
</StackPanel>
</Grid>