wpf路由事件
❶ C#的事件和WPF的路由事件 有什麼關系嘛
就當Winform一樣的一般事件用也可以,假如有多層WPF控制項疊加在一起,事件可以一路傳遞下去,而Winform只能在最上層的控制項引發。
❷ WPF中的路由事件能不能在同級控制項中傳遞
是的,路由和隧道是垂直方向的
❸ 簡述wpf路由事件與普通.net事件的異同
SP1 (Service Package 1)服務包。
WPF(Windows Presentation Foundation),內部代碼「Avalon」,是一套基於XAML(eXtensible Application Markup Language)、.NET和矢量圖技術的全新的圖形界面系統和API,它充分利用了計算機的3D顯卡硬體功能和Direct3D技術。
WCF(Windows Communication Foundation),內部代碼「Indigo」,是一個面向服務的通訊框架,利用它可以實現本地和遠程的程序之間的交互。
WF(Workflow Foundation)於2005年8月公開,微軟提供的工作流引擎,通過它可以實現任務的自動化和事務的集成。
CardSpace是一個軟體組件的代碼,用來安全的保存和使用用戶的數字身份,並提供統一的界面來針對特定的事務選擇身份,例如登陸一個網站。
❹ 簡單點說:wpf路由事件與普通.net事件的異同
WPF是.NET的一部分
Silverlight是WPF的一個子集(但是CLR不同,是一種跨平台的,但所使用的語言相同)
所以安裝.NET(3.0以上版本) 就會自帶 WPF
但是Silverlight要安裝Silverlight
WPF/Silverlight的開發流程幾乎一樣, 可以使用Blend或Visual Studio開發
所以安裝Blend必須先安裝.NET,但是Expression Blend都已經內置了
❺ WPF中為什麼路由事件不響應
MenuItem.ClickEvent 只bubble 到 VisualTreeHelper.GetParent (相對於 Sender) 返回 null 或 eventargs 的 handled=True.
當 ContextMenu 里的 MenuItem 被 clicked, 路由開始. 你可以用 VisualTreeHelper 檢查 某個 MenuItem 的 Visual Parent, 一直循環到 VisualTreeHelper.GetParent 返回 Null 時. 對 ContextMenu 來說, visual root 是 System.windows.primitives.popuproot 元素, 無論如何也不會到 TextBox (TextBox.ContextMenu 只是一個屬性).
MenuItem.Click="TextBox_Click" 應該放在 ContextMenu 元素里.
❻ WPF中自定義控制項怎麼在命令中阻止路由冒泡
在後台使用 事件 或者在grid的事件中判斷sender 設置e.Handled 為false
❼ wpf 自定義路由事件
namespace testP166 //【命名空間】
{
/// <summary>
/// MainWindow.xaml 的交互邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
// 類要放在命名空間裡面
public class ReportTimeEventArgs : RoutedEventArgs
{
}
public class TimeButton : Button
{
}
// class...
}
❽ WPF路由事件,在一個類調中調用窗體里的事件。後台動態生成標簽,怎麼添加事件
label1.IsHitTestVisible=true;
❾ wpf 路由事件如何獲得子控制項的父控制項
通過VisualTreeHelper去取就行了。給你段代碼參考:
前台:
<Grid Name="rootGrid">
<Grid Name="myGrid" Width="150" Height="150" Background="LightBlue">
<Button Name="btn" Click="btn_Click" Width="80" Height="25" Content="click"/>
</Grid>
</Grid>
後台:
private void btn_Click(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
var a = VisualTreeHelper.GetParent(btn);
}
然後你斷點看下a,就會發現它就是button的父容器myGrid
❿ WPF的路由事件的作用
1,,你定義了一個復雜的控制項模板(比如Button的), 裡麵包含了很多的Lable等其他控制項。
2,注冊這個Button的滑鼠單擊事件
3,滑鼠單擊這個Button(滑鼠單擊的是這個Button中的Label控制項)
4,你的事件被觸發了
思考:滑鼠單擊的是Button控制項模板中的Label,觸發的是這個Label的單擊事件,為什麼你注冊的事件能觸發? 這個就是路由事件的具體應用和意義