0

ユーザーがメニュー項目をクリックしたときに表示されるいいねを作成しましたUserControlPopup

ユーザーがその側をクリックすると、ユーザー コントロールが折りたたまれます。
ユーザーがコントロール以外の側をクリックすると、うまく機能します。データグリッドまたはリストボックスをクリックすると、非表示になりません。

これが私のコードです:

<src:AddNewItemPopUp x:Name="PopUp" Margin="111,47,620,230"  Panel.ZIndex="1" Visibility="Collapsed"/>

クリックイベントでボタンを取得しましたPopUp可視性プロパティをtrueに設定しました

私のユーザーコントロールにはグリッドがあります。グリッドの mousedown イベントで、次のコードを書きました...

private void Grid_MouseDown_1(object sender, MouseButtonEventArgs e)
{
    if (PopUp.Visibility == Visibility.Visible)
    {
        PopUp.Visibility = Visibility.Collapsed;
    }
}

のようなコントロールをクリックしても、Button配置されているものは折りたたまれません。DataGridListBoxGrid Popup

4

2 に答える 2

0

試す:

Visibility="Hidden" 

あれは:

private void Grid_MouseDown_1(object sender, MouseButtonEventArgs e)
{
    if (PopUp.Visibility == Visibility.Visible)
    {
        PopUp.Visibility = Visibility.Hidden;
    }
}

また、以下も参照してください。

http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx

于 2012-12-28T12:53:31.580 に答える
0

最初にグリッドの背景プロパティを設定します。たとえばgrid.Backgroung=Brushes.Transparent、Xaml でBackgroung = "Transparent"

PreviewMouseDownイベントの代わりに2 番目のハンドルイベントMouseDown

最初のものは、マウスがグリッド上にあるときにマウス イベントを発生させます。

2 つ目は、マウスがグリッド内の UIElement の上にあるときに、マウス イベントを発生させます。

于 2012-12-28T14:42:34.583 に答える