如何从 C++/CX 中的 XAML 资源获取 CommandBar?
How to get CommandBar from XAML resources in C++/CX?
我在页面资源中定义了CommandBar:
<Page.Resources>
<CommandBar x:Name="mainCommandBar" x:Key="mainCommandBar">
<AppBarButton Icon="Accept" Label="AppBarButton"/>
<AppBarButton Icon="Cancel" Label="AppBarButton"/>
</CommandBar>
</Page.Resources>
然后在页面构造函数中,我将此命令栏分配给 TopAppBar:
TopAppBar = mainCommandBar;
但是我得到一个错误 "Element not found"。
如果我以编程方式创建 CommandBar - 一切正常。
首先您需要从页面的资源字典中检索 CommandBar Style 资源,然后将此 commandBar 分配给 TopAppBar。
MainPage::MainPage()
{
InitializeComponent();
CommandBar^ commandBarStyle = (CommandBar^)this->Resources->Lookup("mainCommandBar");
CommandBar^ TopAppBar = commandBarStyle;
}
您需要先删除 ResourceDictionary 中的条目,然后再将其分配给 TopAppBar,因为 Control 的实例可能不会在 XAML 树中多次出现。
MainPage::MainPage()
{
InitializeComponent();
Resources->Remove(L"mainCommandBar");
TopAppBar = mainCommandBar;
}
我在页面资源中定义了CommandBar:
<Page.Resources>
<CommandBar x:Name="mainCommandBar" x:Key="mainCommandBar">
<AppBarButton Icon="Accept" Label="AppBarButton"/>
<AppBarButton Icon="Cancel" Label="AppBarButton"/>
</CommandBar>
</Page.Resources>
然后在页面构造函数中,我将此命令栏分配给 TopAppBar:
TopAppBar = mainCommandBar;
但是我得到一个错误 "Element not found"。
如果我以编程方式创建 CommandBar - 一切正常。
首先您需要从页面的资源字典中检索 CommandBar Style 资源,然后将此 commandBar 分配给 TopAppBar。
MainPage::MainPage()
{
InitializeComponent();
CommandBar^ commandBarStyle = (CommandBar^)this->Resources->Lookup("mainCommandBar");
CommandBar^ TopAppBar = commandBarStyle;
}
您需要先删除 ResourceDictionary 中的条目,然后再将其分配给 TopAppBar,因为 Control 的实例可能不会在 XAML 树中多次出现。
MainPage::MainPage()
{
InitializeComponent();
Resources->Remove(L"mainCommandBar");
TopAppBar = mainCommandBar;
}