gpt4 book ai didi

c# - 将画笔的 ResourceDictionary 获取到 ItemsList

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:09 25 4
gpt4 key购买 nike

我的项目中定义了许多 XAML Brush 对象。有些比较详细。现在它们都位于(编辑)Brushes.xaml 中,在其自己的文件中定义为 ResourceDictionary,如下所示:

 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<LinearGradientBrush x:Key="FiveColorGradient" >
...with five gradient stops
</LinearGradientBrush>
<LinearGradientBrush x:Key="TwentyFourColorGradient" >
...with 24 gradient stops
</LinearGradientBrush>
<LinearGradientBrush x:Key="RedYellowGradient" >
...etc
</LinearGradientBrush>
</ResourceDictionary>

问题是,如何将这些项目加载到 ItemsList 控件中,例如 ComboBox

(EDIT) 我希望直接在 XAML 中利用绑定(bind)语法,这将更易于维护。但我还没有找到正确的语法。到目前为止,这是我尝试过的:

<UserControl.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary x:Key="BrushesDictionary" Source="Brushes.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<ComboBox ItemsSource="{StaticResource BrushesDictionary}"/>
</Grid>

当然,这是回击错误,因为您不能将键分配给 ResourceDictionary 或其他东西。

(我尝试查找了几个想法,但没有一个得到任何没有完全埋没在内容聚合或多年尘埃中的文档的支持......)

最佳答案

您可以使用 x:Static 来创建绑定(bind):

<ComboBox.ItemsSource>
<Binding Path="Resources.Keys"
Source="{x:Static Application.Current}"/>
</ComboBox.ItemsSource>

关于c# - 将画笔的 ResourceDictionary 获取到 ItemsList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21746043/

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