私はを使用して、私のウィンドウのすべてのButton
コントロールの目のキャンディーの外観を作成しました。うまくいきました。それがさらに再利用可能なようにするにUserControl内のパラメータ化されたスタイル?
、私は、ユーザーコントロール内のすべてを入れてみました:私はのImageButton UCを作成し、その後、私は<Window.Resources>
から<UserControl.Resources>
にすべてのこと<Style>
をカプセル化。
<Button Tag="Face.jpg" Content="Foo" />
:
は、それから私はから、XAMLで私のButtonインスタンスを変更
<uc:ImageButton Tag="Face.jpg" Content="Foo" />
とスタイルが適用されて停止しました。私は何をしないのです
<UserControl x:Class="GDTI.UI.Main.View.UserControls.ImageButton"
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"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<Style TargetType="Button">
<Setter Property="MaxWidth" Value="250" />
<Setter Property="Margin" Value="5" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" >
<Setter.Value>
<SolidColorBrush Color="Orange" Opacity="0.4" />
</Setter.Value>
</Setter>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate >
<StackPanel>
<Image Source="{Binding Tag,
RelativeSource={RelativeSource
FindAncestor,
AncestorType='Button'}}" />
<TextBlock Margin="10"
HorizontalAlignment="Center"
Text="{Binding Content,
RelativeSource={RelativeSource
FindAncestor,
AncestorType='Button'}}" />
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Button/>
:
ここUCコードがですか?
ありがとうございました!
Gaaahhh!あなたはカスタムのユーザコントロールを持っていて、 'Tag'プロパティを使いますか? (あなたが投稿していないコードに問題がどこにあるのかも分かりません) –
次のステップは 'Tag'プロパティを避けることでした。なぜ私はUCを使うのでしょうか?今すぐコードを投稿してください –