我有一个问题,我想这是我在 WPF 中缺少的一些基本知识。
我将默认宽度(generix.XML)设置为文本框,文本框有一些最小宽度
<Style TargetType="{x:Type TextBox}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="MinWidth" Value="50"/>
</Style>
我有两个包含文本框的不同控件。两个文本框具有相同的宽度。我向其中一个控件添加一些属性,该控件将声明文本框的宽度,并将覆盖其宽度声明,以使文本框“找到”该属性。
这是一些描述我的要求的图:
更新:
我只是发现我没有再描述一件进口的事情。我有一些使用文本框的 DataTemplate。正如我在上面所写的,我有两个具有相同 DataType (MyData) 的控件,我还创建了 DateTemplate 来显示 MyData。我希望每个控件都显示不同宽度的文本框(来自数据模板)。
更新 2:这里有更多代码
1-我的数据的dataTemplate在哪里使用文本框
<DataTemplate DataType="{x:Type ml:MyData}">
<Border BorderBrush="Transparent" ClipToBounds="True" Style="{StaticResource errorBorder}">
<TextBox Text="{Binding MyText}"/>
</Border>
</DataTemplate>
2-我使用使用文本框的数据模板的方式。
<ContentPresenter Grid.Column="1" Margin="10,1,10,1" HorizontalAlignment="Left" Content="{Binding}" />
此 contentPresentor 显示在两个不同的控件中。正如我之前写的,我希望每个控件都以不同的宽度显示文本框
看起来我错过了一些基本知识(附加属性?逻辑/视觉树?)。
谢谢,莱昂