1

WPF の Button クラスから実装された CustomControl を作成しました。

public class ImageButton : Button
{
      ...

       public int ImageHeight
       {
           get { return (int)GetValue(ImageHeightProperty); }
           set { SetValue(ImageHeightProperty, value); }
       }
       public static readonly DependencyProperty ImageHeightProperty =
           DependencyProperty.Register("ImageHeight", typeof(int), typeof(ImageButton), new UIPropertyMetadata(32)); 

       ...
}

そして、次のようなリソース テンプレートがあります。

<Setter Property="Template">
   <Setter.Value>
     <ControlTemplate TargetType="{x:Type custom:ImageButton}">
       <Border>
         <StackPanel>
          <Image Name="image" Height="{TemplateBinding ImageHeight}"/>
          <TextBlock Text="{TemplateBinding Text}" />
         </StackPanel>
       </Border>
     <ControlTemplate.Triggers>
   </ControlTemplate>
 </Setter.Value>

ImageHeight 依存プロパティはバインドされません。以下のように書くとうまくいきます。

Height="32"

これの何が問題なのですか?

4

1 に答える 1

1

{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Progress}代わりに 使ってみましたか?

詳細については、これらの回答を参照してください...

WPF TemplateBinding vs RelativeSource TemplatedParent

カスタム依存関係プロパティをカスタム WPF スタイルにバインドする

お役に立てれば

于 2013-03-15T15:08:28.777 に答える