我正在创建一个应用程序,用于在单个窗口中编辑大量产品规格。
我有一堆尺寸(以英寸为单位),我想创建一个简单的模板,该模板将针对每个尺寸显示分数和十进制值的值。它基本上是一个TextBlock 和两个TextBox。
但我不知道如何指定 TextBlock 的文本(在本例中为宽度)。
我希望能够在 ContentControl 声明(或类似的东西)中指定它。
这是我的数据模板:
<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 :" />
还有我的简化产品类(它将包含更多维度):
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 属性)指定标签文本的最佳方法是什么?