[英]Change content of a XAML-element with C#
在我的主要 XAML 页面中有一个ScrollViewer
。 在此ScrollViewer
中,我想根据我的主 C# 代码中的 boolean 变量显示两个不同的 XAML 页面。 要在ScrollViewer
中仅显示一个 XAML 页面,此代码有效:
<ScrollViewer HorizontalAlignment="Left" Height="323" Name="Schieber">
<local:Scrollanwendung_standard/>
</ScrollViewer>
正如我所说,还有另一个名为Scrollanwendung_anwendung
的 XAML 页面,我想根据 boolean 变量进行显示。
在主要的 C# 代码中,我尝试了以下解决方案,但不起作用:
if(x==true)
{
Schieber.Content=Scrollanwendung_admin
}
else
{
Schieber.Content=Scrollanwendung_standard
}
如何使用 boolean 变量更改名为Schieber
的ScrollViewer
的内容?
设置ScollViewer
的内容应该可以正常工作。 我假设Scrollanwendung_admin
和Scrollanwendung_standard
是类型,而不是实例。
<ScrollViewer HorizontalAlignment="Left" Height="323" Name="Schieber">
<local:Scrollanwendung_standard/>
</ScrollViewer>
在 XAML 中,上面的行将创建一个新的Scrollanwendung_standard
实例。 但是,在您的代码中,您将类型分配为内容,而不是实例。
if (x)
{
Schieber.Content = new Scrollanwendung_admin();
}
else
{
Schieber.Content = new Scrollanwendung_standard();
}
您可以将两个页面都放在ScrollViewer
中并隐藏一个。 然后,每当值发生变化时,您将显示另一页并隐藏第一个页面。 像这样的东西:
SomeWindow.xaml
<ScrollViewer HorizontalAlignment="Left" Height="323" Name="Schieber">
<Grid>
<local:Scrollanwendung_standard x:Name="pageOne"/>
<local:Scrollanwendung_anwendung x:Name="pageTwo" Visibility="Hidden"/>
</Grid>
</ScrollViewer>
SomeWindow.xaml.cs
if(x==true)
{
pageOne.Visibility = Visibility.Hidden;
pageTwo.Visibility = Visibility.Visible;
}
else
{
pageOne.Visibility = Visibility.Visible;
pageTwo.Visibility = Visibility.Hidden;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.