带有错误bob

时间:2016-04-25 06:41:49

标签: c# wpf

我想要一个始终在其旁边显示错误Bob的文本框。为此,我写了下面的代码:

<TextBox Text="My TextBox" HorizontalAlignment="Center" VerticalAlignment="Center" Height="75" Width="75">
    <TextBox.Template>
        <ControlTemplate>
            <DockPanel>
                <Image..."error bob image is added here"/>
                <Border BorderBrush="Red" BorderThickness="1.2"/>
            </DockPanel>
        </ControlTemplate>
    </TextBox.Template>
</TextBox>

我能够在设计师中看到同样的东西。但是,当我运行此解决方案时,我只看到一个带有红色边框的文本框。图像(即错误bob)不可见。谁能说明为什么会这样?

1 个答案:

答案 0 :(得分:0)

尝试设置LastChildFill="True"的属性DockPanel

<TextBox Text="My TextBox" HorizontalAlignment="Center" VerticalAlignment="Center" Height="75" Width="75">
    <TextBox.Template>
       <ControlTemplate>
          <DockPanel LastChildFill="True">
                    <TextBox BorderThickness="0"/>
                    <TextBlock Text="error bob image is added here" Width="100"/>
                    <!--<Image..."error bob image is added here"/>-->
                   <Border BorderBrush="Red" BorderThickness="1.2"/>
                </DockPanel>
       </ControlTemplate>
   </TextBox.Template>
</TextBox>

您可以TextBlock使用Width代替Image来显示文字“错误信息”。

<强>更新 我仔细检查了它的确有效。请看下图:

enter image description here

此外,您可以使用StackPanel,如果可以的话:

<TextBox Text="My TextBox" HorizontalAlignment="Center" VerticalAlignment="Center" Height="75" Width="275">
  <TextBox.Template>
     <ControlTemplate>
       <StackPanel Orientation="Horizontal">
          <TextBox BorderThickness="0"/>
          <TextBlock Text="error bob image is added here" Width="100"/>                        
          <Border BorderBrush="Red" BorderThickness="1.2"/>
       </StackPanel>
     </ControlTemplate>
  </TextBox.Template>
</TextBox>

enter image description here