如何从 C# 代码设置 XAML 元素?
所以我有 wpf 应用程序,我的 xaml 看起来像这样:
<Window x:Class="MyTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="clr-namespace:MyTest.Layouts"
xmlns:pl="clr-namespace:Planerator"
Title="CardView" Topmost="False" AllowsTransparency="True" WindowStyle="None" WindowState="Maximized" ShowInTaskbar="False">
<Grid>
<pl:Planerator x:FieldModifier="public" x:Name="FrontProjection" Margin="240" >
<my:FrontLayout />
</pl:Planerator>
<pl:Planerator x:FieldModifier="public" x:Name="BackProjection" Margin="240" >
<my:BackLayout />
</pl:Planerator>
</Grid>
<Window.Background>
<SolidColorBrush />
</Window.Background>
</Window>
有没有办法设置
和
对于我的 C# 代码中的 Planerators?
而 FrontLayot 和 BackLayout -s 只是简单的 xaml 布局。
EDIT2:我需要从代码中设置它们的原因是我想使用条件编译。因为例如对于 DEBUG,它应该是
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看 Planerator 类,您会发现它具有 < code>ContentPropertyAttribute set:
这意味着
实际上是这样做的:
这也意味着从代码隐藏中,例如在 MyTest 的构造函数中,或者在其他任何地方,您可以执行以下操作来实现 相同:
Looking at the Planerator class you'll see it has the
ContentPropertyAttribute
set:This means that
Actually does this:
Which also means that from code-behind, for example in the constructor of MyTest, or anywhere else really, you could do the following to achieve the same:
给它们命名,例如
,然后它们应该可以从 C# 中作为该名称的变量进行访问。
Give them names, e.g.
and then they should be accessible from C# as variables of that name.