簡體   English   中英

從主窗口WPF訪問用戶控件stackpanel

[英]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上執行該操作,它將無法正常工作。

XAMLMainWindow

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM