我在 XAML 文件中使用了StaticResource
。我使用StaticResource
命名了x:Name
。现在,我要访问StaticResource
的实际对象。
以下是文件:
在XAML文件中:
<Window x:Class="MyProject.MainWindow"
...
Title="MainWindow" Height="350" Width="525">
<Grid>
<StaticResource ResourceKey="MyButtonResource" x:Name="MyResource" />
</Grid>
</Window>
在代码隐藏的CS文件中:
Button buttonFromStaticResource = MyResource.SomeProperty as Button;
在这里,我需要类似SomeProperty
或任何方法来获取实际对象(在这种情况下,它是一个Button
对象)。
编辑:
获取对象的一种方法是使用TryFindResource
:
Button buttonFromStaticResource = this.TryFindResource("MyButtonResource") as Button;
但是此解决方案涉及一个字符串参数。还有什么比这更好的解决方案,以便我可以直接使用MyResource
(通过在XAML文件中利用x:Name
)而不使用任何字符串?
答案 0 :(得分:0)
如何在c#中读取静态资源,请检查以下代码
<Window x:Class="MyProject.MainWindow"
...
Title="MainWindow" Height="350" Width="525">
<Grid>
<StaticResource ResourceKey="MyButtonResource" x:Name="MyResource" />
</Grid>
</Window>
c#
var currentResources= this.Resources["MyButtonResource"];