【发布时间】:2014-10-21 01:26:09
【问题描述】:
我有一个基于组合框功能的自定义控件。
下面是简化的模板:
<Window x:Class="WpfApplication70.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
WindowStartupLocation="CenterScreen">
<StackPanel>
<Grid>
<ToggleButton Name="PART_DropDownButton"
MinHeight="20"
ClickMode="Release">
<Path x:Name="BtnArrow"
Height="4"
Width="8"
Stretch="Uniform"
Data="F1 M 301.14,-189.041L 311.57,-189.041L 306.355,-182.942L 301.14,-189.041 Z "
Margin="0,0,6,0"
Fill="Black"
HorizontalAlignment="Right" />
</ToggleButton>
<Popup IsOpen="{Binding IsChecked, Mode=TwoWay, ElementName=PART_DropDownButton}"
StaysOpen="False"
MaxHeight="400">
<Ellipse Fill="Red"
Width="50"
Height="50" />
</Popup>
</Grid>
</StackPanel>
</Window>
这似乎可行,因为我可以单击按钮,弹出窗口打开,然后在我单击弹出窗口外部时关闭。
但是,我希望在按下按钮时打开弹出窗口,而不是松开。但是,当您在弹出窗口外单击时,将“ClickMode”更改为 Press 会停止弹出窗口关闭。
我该如何解决这个问题?
【问题讨论】:
-
我在那里似乎没有看到解决方案,所有提供的答案似乎只是引入了其他问题。