WPF ComboBox
用の再利用可能なテンプレートを作成しています。私は、動的テンプレートでこれらの参照を使用してフォントの色、背景、および境界線を変更することができる午前:c#WPF XAML ComboBox.ResourcesアイテムへのRelativeSourceの参照
Foreground="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}, Path=Foreground}"
BorderBrush="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}, Path=BorderBrush}"
Background="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}, Path=Background}"
これらは私が参照できる性質を持っていたので、容易でした。私がやりたい何
<ComboBox Margin="90,62,0,0" Height="26" Width="302"
HorizontalAlignment="Left" VerticalAlignment="Top"
Focusable="False" IsReadOnly="True" MaxDropDownHeight="202"
Foreground="White" Background="SteelBlue" BorderBrush="White"
Style="{StaticResource ComboBoxFlatStyle}"
ItemContainerStyle="{StaticResource ComboBoxItemFlatStyle}">
は同様の方法で、次の参照です:
<ComboBox.Resources>
<SolidColorBrush x:Key="ComboBoxHighlightBrush" Color="RoyalBlue" />
</ComboBox.Resources>
は、コントロール内のリソースを参照することが可能ですか?私は本当に別の色を使用して別のComboBox
でこのテンプレートを再利用できるようにしたい。
Foreground = "{StaticResource ComboBoxHighlightBrush}"はあなたのコンボボックス内のものに適用されます。 – Milan
@ミランNope、私は自分のアプリケーションリソースにスタイルを持っています。 –
Foreground = "{DynamicResource ComboBoxHighlightBrush}"は、ブラシがapp.xamlリソースで定義されている場合に機能します。私は今あなたが実際にあなたのアプリケーションリソースの中ではなく、あなたのアプリケーションリソースの中にあるコンボボックスの中にあるリソースにアクセスしたいと思っています。これは実際にこのブラシをグローバルにアクセス可能にしたいという兆候ではありませんか? – Milan