1 つのウィンドウで多くの製品仕様を編集するために使用するアプリケーションを作成しています。
たくさんの寸法 (インチ単位) があり、各寸法の値を分数と小数値の両方で表示する単純なテンプレートを作成したいと考えています。基本的には TextBlock と 2 つの TextBox です。
しかし、TextBlock のテキスト (この場合は Width) を指定する方法がわかりません。
ContentControl宣言(または同様のもの)で指定できるようにしたいと思います。
これが私の DataTemplate です:
<Window.Resources>
<DataTemplate x:Key="InchesInputTemplate">
<StackPanel>
<TextBlock Text="{Binding}" /> <!-- How should I define the binding ? -->
<TextBox Text="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Content, Converter=InchesToFractionConverter}" />
<TextBox Text="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Content}" />
</StackPanel>
</DataTemplate>
</Window.Resources>
そして、それを ContentControl で使用します:
<ContentControl Content="{Binding Width}"
ContentTemplate="{StaticResource InchesInputTemplate}"
LabelText="Width :" />
そして、私の簡略化された Product クラス (さらに多くのディメンションが含まれます):
public class Product
{
private string _productCode;
public string ProductCode
{
get { return _productCode; }
set { _productCode = value; }
}
private float _width;
public float Width
{
get { return _width; }
set { _width = value; }
}
}
各ディメンション (私の例では LabelText プロパティ) のラベルのテキストを指定する最良の方法は何でしょうか?