1

この XAML があるとします:

  <StackPanel>
    <TextBlock Text="{Binding Path=TaskName}" />
    <TextBlock Text="{Binding Path=Description}"/>
    <TextBlock Text="{Binding Path=Priority}"/>
  </StackPanel>

複数の場所で再利用したい。たとえば、ItemsControl の DataTemplate としてだけでなく、ボタン コンテンツのようなものの基礎としても使用できます。

どうすればこれを行うことができますか?ASP.NET 部分ビューのようなものを考えています。

コードビハインドを必要としないため、ユーザーコントロールを使用したくありません。

4

2 に答える 2

2

私はそれをある方法で機能させることができました:

<Style x:Key="myStyle" TargetType="Control">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <StackPanel>
                   <TextBlock Text="{Binding Path=TaskName}" />
                   <TextBlock Text="{Binding Path=Description}"/>
                   <TextBlock Text="{Binding Path=Priority}"/>
                </StackPanel>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

それはTargetTypeを使用することを私に主張しました、さもなければそれはテンプレートの設定について不平を言いました。これで、これを任意のコントロールで使用できます。

これを基本的にデータテンプレートとして使用する場合は、データテンプレート(おそらくContentControl)内のプレースホルダーアイテムのスタイルを設定して、これを使用できます。

于 2012-11-17T17:03:25.703 に答える
1

StylesResourceDictionary.xaml を作成し、App.Xaml に静的リソースを作成します。実行時にスタイルがバインドされ、ユーザー コントロールやデータ テンプレートなど、アプリ内のどこからでも辞書から何でも参照できます。

于 2012-11-17T16:36:19.233 に答える