0

在 WPF 中,我有一个一行两列的网格。

<Grid>
 <Textbox Grid.Column=0>
  <Validation.ErrorTemplate>
   <DockPanel>
    <Image DockPanel.Dock="Right" Margin="20,0,0,0"/>
   </DockPanel>
  </Validation.ErrorTemplate>
 </Textbox>
<Button Grid.Column=1>
</Button>

我希望图像(错误图标)保留在按钮的右侧,该按钮的大小可以根据其文本而变化。有没有办法根据按钮的宽度动态设置图像的边距?现在它只是固定在文本框右侧的 20 像素处。

4

2 回答 2

0

验证错误模板显示在一个特殊的装饰层中。如果您需要相对于装饰元素定位元素,只需在 XAML 中使用AdornedElementPlaceholder类。

于 2013-02-19T21:24:22.720 回答
0

我认为不可能完成您想要做的事情,除非在该模板或样式中定义了引用的元素,否则您无法从数据模板中引用元素。您可以通过其他方式进行操作,请参见此处

于 2013-02-20T17:59:43.920 回答