[英]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.