WPF XAML-装饰元素占位符边框don';不适合控制
我正在wpf应用程序中添加一些错误管理。我有两个问题:WPF XAML-装饰元素占位符边框don';不适合控制,wpf,xaml,wpfdatagrid,Wpf,Xaml,Wpfdatagrid,我正在wpf应用程序中添加一些错误管理。我有两个问题: 我无法将我的红色边框仅用于文本框或组合框。如果错误消息文本大于字段,则边框大于字段 我可以使消息在数据网格中的最后一行完全显示。该消息由datagrid裁剪 我想给你看这张图片,但我不能发布,没有足够的声誉点:S 这是我的密码: <Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DefaultComboBox}" > <Setter P
- 我无法将我的红色边框仅用于文本框或组合框。如果错误消息文本大于字段,则边框大于字段
- 我可以使消息在数据网格中的最后一行完全显示。该消息由datagrid裁剪
<Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DefaultComboBox}" >
<Setter Property="Validation.ErrorTemplate" Value="{DynamicResource ErrorSeverityValidation}" />
</Style>
<ControlTemplate x:Key="ErrorSeverityValidation">
<ControlTemplate.Resources>
<Style x:Key="TextblockErrorTooltip" TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Margin" Value="10 0 10 0" />
</Style>
</ControlTemplate.Resources>
<DockPanel ZIndex="99" Dock="Bottom">
<Grid DockPanel.Dock="Bottom">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Path Grid.Row="1" Margin="15 0 0 0" Width="20" Height="10" HorizontalAlignment="Left" VerticalAlignment="Top" Data="M0,10 L10,0 20,10Z"
Stroke="{StaticResource DangerBackgroundBrush}" DockPanel.Dock="Bottom" Fill="{StaticResource DangerBackgroundBrush}" Stretch="None" />
<Border Grid.Row="2" Height="Auto"
Margin="0,0,0,5"
CornerRadius="3" DockPanel.Dock="Bottom"
>
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="{StaticResource DangerBackgroundBrush}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorContent.Severity}" Value="{x:Static local:Severity.Warning}">
<Setter Property="Background" Value="{StaticResource WarningBackgroundBrush}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock Style="{StaticResource TextblockErrorTooltip}"
Text="{Binding ElementName=customAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent.ValidationMessage}" />
</Border>
<AdornedElementPlaceholder Grid.Row="0" Name="customAdorner">
<Border BorderBrush="{StaticResource DangerBackgroundBrush}" BorderThickness="1.3" DockPanel.Dock="Left" />
</AdornedElementPlaceholder>
</Grid>
</DockPanel>
</ControlTemplate>
如果您需要查看我的datagrid的代码,只需告诉我哪部分:)
更新
好的,通过我的研究,我认为我的问题更多的是datagridcell不能调整大小以适应内容。我已经做了很多研究,但我找不到一种方法来实现这个目的
<DataGridTemplateColumn Width="80">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Width="80" TextWrapping="Wrap"
Text="{Binding Source={StaticResource UIStrings}, Mode=OneWay, Path=.[AnimalEventResources.Wean_qtyWeaned],FallbackValue=@WeanNumber}" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<controls:CustomIntegerBox GotFocus="OnGotFocus" HorizontalAlignment="Center" Width="70"
Text="{Binding WeanNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True,NotifyOnValidationError=True}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我尝试设置celltemplate的高度,我尝试将内容放入带有包装的文本框中。。。但是没有成功