![](/img/trans.png)
[英]Handle an event in a Data Template loaded by XamlReader.Load(xaml) in code-behind
[英]Event loaded in code-behind
我在xaml中有一個帶有加載事件的擴展器,它運行良好:
<Expander Name="exp" Loaded="expander_Loaded">
但我嘗試隱藏代碼:
Expander ex = new Expander();
ex.Loaded += new RoutedEventHandler(expander_Loaded);
void expander_Loaded(object sender, RoutedEventArgs e)
{
//code
}
而且它不起作用。
當我的擴展器為isLoaded時,如何調用expander_Loaded
?
使用時
<Expander Name="exp" Loaded="expander_Loaded">
您可以在XAML中插入新的Expander,即顯示屏知道它並可以使用它。
當您這樣做時:
Expander ex = new Expander();
ex.Loaded += new RoutedEventHandler(expander_Loaded);
void expander_Loaded(object sender, RoutedEventArgs e)
{
//code
}
您創建一個新的Expander
對象,為其分配一個事件,然后,如果在該行之后未使用它,則立即將其丟棄。 嘗試
<Expander Name="exp">
與
//refers to the declared object
exp.Loaded += new RoutedEventHandler(expander_Loaded);
void expander_Loaded(object sender, RoutedEventArgs e)
{
//code
}
您無需在代碼和標記中關聯事件。 要么刪除Loaded="expander_Loaded"
要么刪除ex.Loaded += new RoutedEventHandler(expander_Loaded);
。 可能兩次執行都會產生這種意想不到的效果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.