私は自分のアプリケーションで使用するためにUserControlを作成しました。 2つのリピートボタンを持つグリッド内のComboBoxで構成されています。このコントロールは、タッチスクリーン付きのラップトップで実行されるアプリケーションで使用するためのコントロールです。ボタンは、ComboBoxの次のまたは前の選択を選択するために使用されます。ここでは、XAMLは、コントロールのためです:このトリガはどのように動作させるのですか?
<UserControl x:Class="CarSystem.CustomControls.TouchComboBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:cs="clr-namespace:CarSystem.CustomControls"
mc:Ignorable="d"
Focusable="True"
GotFocus="UserControl_GotFocus">
<UserControl.Resources>
<Style x:Key="FocusedStyle" TargetType="{x:Type ComboBox}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="{DynamicResource FocusedBackground}" />
<Setter Property="Foreground" Value="{DynamicResource FocusedForeground}" />
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<Grid Background="{Binding Path=GridBackground, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
Width="{Binding Path=Width, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ComboBox Background="{Binding Path=Background, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
BorderBrush="{Binding Path=BorderBrush, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
DisplayMemberPath="{Binding Path=DisplayMemberPath, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
FlowDirection="{Binding Path=FlowDirection, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
Focusable="True"
FontFamily="{Binding Path=FontFamily, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
FontSize="{Binding Path=FontSize, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
FontStretch="{Binding Path=FontStretch, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
FontStyle="{Binding Path=FontStyle, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
FontWeight="{Binding Path=FontWeight, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
Foreground="{Binding Path=Foreground, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
HorizontalAlignment="{Binding Path=HorizontalAlignment, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
HorizontalContentAlignment="{Binding Path=HorizontalContentAlignment, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
Grid.Column="0"
ItemsSource="{Binding Path=ItemsSource, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
Name="ChoicesPicker"
SelectedIndex="{Binding Path=SelectedIndex, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
SelectedValue="{Binding Path=SelectedValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
SelectedValuePath="{Binding Path=SelectedValuePath, Mode=TwoWay,RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
SelectionChanged="ChoicesPicker_SelectionChanged"
Style="{StaticResource FocusedStyle}"
TabIndex="{Binding Path=TabIndex, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:TouchComboBox}}}"
VerticalAlignment="Center"/>
<RepeatButton Background="{DynamicResource ButtonBackground}"
Click="SelectPreviousButton_Click"
Focusable="False"
Foreground="{DynamicResource ButtonForeground}"
Grid.Column="1"
IsTabStop="False"
Name="SelectPreviousButton">
<Image Source="/CustomControls;component/Resources/VolumeUp.png" />
</RepeatButton>
<RepeatButton Background="{DynamicResource ButtonBackground}"
Click="SelectNextButton_Click"
Focusable="False"
Foreground="{DynamicResource ButtonForeground}"
Grid.Column="2"
IsTabStop="False"
Name="SelectNextButton">
<Image Source="/CustomControls;component/Resources/VolumeDown.png" />
</RepeatButton>
</Grid>
</UserControl>
私はコンボボックスがフォーカスを取得したときに背景と前景ブラシを変更したいです。 UserControlリソースの "FocusedStyle"という名前のスタイルは私のためにこれを行うはずですが、機能しません。背景とForeGroundの色は決して変化しません。
私のコードで何が問題になっていますか?
トニー
ありがとうございました! –