[英]access user control stackpanel from main window WPF
我有一個用戶控件,其定義如下:
<UserControl x:Class="LearnWPF1.DesignerPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel
PreviewMouseDown="panel_PreviewMouseDown"
x:Name="panel"
Orientation="Vertical"
Background="White"
AllowDrop="True"
DragOver="panel_DragOver"
Drop="panel_Drop"/>
</ScrollViewer>
現在我希望我的主窗口可以訪問堆棧面板,該怎么辦? 當前我的主窗口獲取用戶控件參考,如下所示:
<local:DesignerPanel x:Name="DesignerPanel"></local:DesignerPanel>
現在的問題是PreviewMouseDown事件僅適用於后面的UserControl的代碼,如果我在MainWindow上執行該操作,它將無法正常工作。
XAML
在MainWindow
:
<local:DesignerPanel x:Name="DesignerPanel"
PreviewMouseDown="DesignerPanel_OnPreviewMouseDown"/>
MainWindow.cs
Code-behind
private void DesignerPanel_OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
// do something
}
您可以像這樣從MainWindow
訪問StackPanel
:
StackPanel panel = DesignerPanel.panel;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.