分類:[.NET 全般]
2018/03/29(Thu) 23:42:45 編集(投稿者)
お世話になっています。
環境はVisualStudio2017 C# WPFです。
掲題についてです。
-目的
画面毎に共通化出来るデザインが存在する為、
それらをApplication.Resourcesに定義したのですが、
対象の共通化したデザインが同じ画面に複数存在することがありました。
その為、Binding対象のフィールドを特定したいです。
例を示します。以下のXAMLが存在します。
<TextBox
x:Name="txtMaxRowCount"
Text="{Binding MaxRowCount, UpdateSourceTrigger=PropertyChanged}"
/>
このMaxRowCountという情報を、App.xamlでの共通化したデザイン上で、
FindAncestorを使用し取得したいと思っています。
イメージを以下に示します。
<Style x:Key="xxx" TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
〜省略〜
<MultiBinding Converter="{StaticResource Converter}">
<Binding RelativeSource="{RelativeSource FindAncestor,
AncestorType={x:Type TextBox}}"
Path="Text.BindingField"/> ←こんな感じで結びついているField名を取得したい。
〜省略〜
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
何かご存じでしたらご教授下さい。以上です。