gpt4 book ai didi

Silverlight:从代码访问 XAML 控件

转载 作者:行者123 更新时间:2023-12-02 11:06:32 24 4
gpt4 key购买 nike

我在访问在页面的 XAML 上定义的面板控件时遇到问题,XAML 是这样定义的:

<UserControl
x:Class="PhoneBook.SilverlightMainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
mc:Ignorable="d" Width="400" Height="300" d:DesignWidth="993" d:DesignHeight="887">

<Grid x:Name="LayoutRoot" />
</UserControl>

该类定义如下:
public partial class SilverlightMainPage : UserControl
{
public SilverlightMainPage()
{
InitializeComponent();
}
}

我正在尝试以这种方式实例化它:
var silverlightMainPage = new PhoneBook.SilverlightMainPage();
SomeMethod((silverlightMainPage.LayoutRoot);

我觉得奇怪的是,当我将点放在对象实例之后时,它实际上将 LayoutRoot 列为成员之一,但是当我尝试编译应用程序时,它说没有具有该名称的成员。

关于可能发生什么的任何想法?

谢谢

编辑:我还尝试在 SilverlightMainPage 类上创建一个返回 LayoutRoot 元素的属性,但它也表示该类不包含 Layout root 的定义。

最佳答案

您是否有机会尝试从不同的程序集访问 SilverlightMainPage.LayoutRoot?在 MainPage.g.i.cs 文件中,LayoutRoot(以及在 XAML 中定义的所有其他控件)被标记为“内部”,即:

    internal System.Windows.Controls.Grid LayoutRoot;

您可能想尝试创建一个公共(public)属性,而不是一个执行 FindName("LayoutRoot") 并返回适当控件的内部属性。

关于Silverlight:从代码访问 XAML 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784014/

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