我正在编写一个Windows 8商店应用程序,在其中我设计了自己的用户控件。
这是我的usercontrol的代码(这是一个虚拟控件,但问题是存在的):
<UserControl
x:Class="Windows8StoreTest.TestUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows8StoreTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Width="70"
Height="40">
<StackPanel>
<Button Content="Hello" Foreground="Pink" BorderBrush="Pink"/>
</StackPanel>
</UserControl>
我已将用户控件放到我的页面上并为其命名:
<Page
x:Class="Windows8StoreTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows8StoreTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<local:TestUserControl Name="testControl"/>
</Grid>
</Page>
但是,当我转到后面的代码时,我无法通过该名称访问该控件。它似乎不存在!奇怪的是,MainPage类的InitializeComponent()方法中不存在控件,这就是它存在的原因。
我的用户控件缺少什么?
我正在使用Windows 8商店,XAML,c#。
提前致谢
答案 0 :(得分:1)
尝试使用它:
<local:TestUserControl x:Name="testControl"/>
应该工作......
答案 1 :(得分:0)
你好,我不知道出了什么问题,但它应该工作。我刚刚做了一个示例。我把它放在这里希望你也这样做。
<Page
x:Class="App12.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App12"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<local:MyUserControl1 x:Name="hellousercontrol" />
</Grid>
在我的mainpage.cs中..我刚才这样使用..
public MainPage()
{
this.InitializeComponent();
hellousercontrol.Height = 100;
}
还有一个......你有没有建立自己的解决方案?
答案 2 :(得分:0)
我在c ++环境中遇到了同样的问题。我观察到,我的类中没有默认构造函数,只要添加了默认构造函数,我就可以通过XAML文件在项目中使用已定义的UserControl。但是,如果没有默认构造函数,我可以在c ++代码中使用它。