gpt4 book ai didi

c# - 如何在代码隐藏中访问在 XAML 中创建的 DataContext 类实例?

转载 作者:太空狗 更新时间:2023-10-29 20:58:53 26 4
gpt4 key购买 nike

MyData 是一个简单地存储 ColorName 属性的类。

在 XAML 中,我可以通过以下方式为我的 XAML 数据上下文创建一个实例

<c:MyData x:Key="myDataSource">

现在,

如何在我的代码中访问和更改存储在这个 MyData 实例中的 ColorName(它是在 XAML 中使用“myDataSource”键创建的)?

我希望问题很清楚。我想以编程方式更改颜色。我如何获得 MyData 类实例?谢谢

<DockPanel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:SDKSample">
<DockPanel.Resources>
<c:MyData x:Key="myDataSource"/>
</DockPanel.Resources>
<DockPanel.DataContext>
<Binding Source="{StaticResource myDataSource}"/>
</DockPanel.DataContext>
<Button Background="{Binding Path=ColorName}"
Width="150" Height="30">I am bound to be RED!</Button>
</DockPanel>

最佳答案

要从代码隐藏访问资源,请为 DockPanel 命名,然后:

var resource = dockPanel.Resources["myDataSource"];

或者,您可以获得它的 DataContext:

var dataContext = dockPanel.DataContext as MyData

关于c# - 如何在代码隐藏中访问在 XAML 中创建的 DataContext 类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17495937/

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