gpt4 book ai didi

wpf - 将资源从一个 UserControl 解析到父 UserControl

转载 作者:行者123 更新时间:2023-12-04 21:18:22 28 4
gpt4 key购买 nike

我有一个用户控件 UserControl1,它在其资源中定义了一种样式。该用户控件包含一个 UserControl2 实例,它引用了该样式:

<UserControl x:Class="UserControl1">
<UserControl.Resources>
<Style x:Key="MyStyle" />
</UserControl.Resources>

<Grid>
<UserControl2 />
</Grid>
</UserControl>

<UserControl x:Class="UserControl2">
<Grid Style="{StaticResource MyStyle}">
</Grid>
</UserControl>

但是,UserControl2 找不到该样式资源,即使它在逻辑树中(在 UserControl1 的资源中)。如何让 UserControl2 找到 UserControl1 中的资源?

最佳答案

你可以这样做,但我建议使用 ResourceDictionary反而。

无论如何,如果你想这样做,你可以使用 FindAncestor找到父级并访问 Resource你想脱离父级ResourceDictionary

<UserControl x:Class="UserControl1">
<UserControl.Resources>
<Style x:Key="MyStyle" />
</UserControl.Resources>

<Grid>
<UserControl2 />
</Grid>
</UserControl>

<UserControl x:Class="UserControl2">
<Grid Style="{Binding Resources[MyStyle], RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:UserControl1}}}">
</Grid>
</UserControl>

因为 Resource是一本可以使用 key 访问的字典就像在后面的代码中一样

关于wpf - 将资源从一个 UserControl 解析到父 UserControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299705/

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