gpt4 book ai didi

wpf - 如何使用资源字典中 中定义的资源

转载 作者:行者123 更新时间:2023-12-04 14:11:22 25 4
gpt4 key购买 nike

我有一个资源字典,它是在其上定义的数据网格样式和该数据网格样式中的样式。

<Style TargetType="{x:Type DataGrid}" x:Key="CatalogDataGrid">
<Style.Resources>
<Style TargetType="{x:Type DataGridCell}" x:Key="RightAlignedDataGridCell">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border
Padding="5,0"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
SnapsToDevicePixels="True">
<ContentPresenter
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="Center"
HorizontalAlignment="Right"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Style.Resources>
</Style>
然后在我的 XAML 中,我尝试使用 RightAlignedDataGridCell以便我的列右对齐。
<DataGrid... Style="{StaticResource CatalogDataGrid}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}">
</DataGridTextColumn>
<DataGridTextColumn Header="Total" Binding="{Binding Total}"
CellStyle="{StaticResource RightAlignedDataGridCell}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
当我运行我的应用程序时,我收到了未找到资源的异常。如果我把这种风格放在资源字典根上。它可以工作。但我要 RightAlignedDataGridCell留在里面 <Style.Resources>CatalogDataGrid .
如何使用 RightAlignedDataGridCell在我的 XAML 上而不将其移动到资源字典根?
提前致谢。

最佳答案

您必须在您使用的任何控件/窗口等的资源部分中包含资源字典才能找到它。您可以通过 MergedDictionaries 执行此操作.

<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="myresourcedictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>

关于wpf - 如何使用资源字典中 <Styles.Resources> 中定义的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com