1
私は2つの状態要素を実装しています。私は2つのxamlを持っています(第1の状態と第2の状態)。私はマウスクリックで状態を変えるべきです。WPF。 TwoState要素
私は自分のコントロールの子を作成し、私は
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var btn = GetTemplateChild("LayoutRoot") as ContentControl;
if (btn != null)
{
btn.MouseLeftButtonDown += (o, e) =>
{
//sample change template
var template = (ControlTemplate)btn.FindResource("buttonDownTemplate");
this.Template = template;
};
}
}
を変更するテンプレートを扱うしかし、私は私のコントロールを持つアプリケーションを実行するときに私が得るOnApplyTemplateでXAML
<Style TargetType="l:ActionButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="l:ActionButton">
<ContentControl x:Name="LayoutRoot">
<ContentControl.Resources>
<ControlTemplate x:Key="buttonDownTemplate">
<Canvas>.....</Canvas>
</ControlTemplate>
<ControlTemplate x:Key="buttonUpTemplate">
<Canvas>.....<Canvas>
</ControlTemplate>
</ContentControl.Resources>
</ContentControl>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
を使用します「の項目を同じキーですでに追加されています。例外?
何が問題なのですか。私の道は正しいのですか?
ありがとう、アンドリュー