gpt4 book ai didi

c# - 单击 ComboBox 的 TextBox 部分

转载 作者:行者123 更新时间:2023-11-30 17:06:58 24 4
gpt4 key购买 nike

我们有 ComboBox 的样式,例如:

<Style x:Key="OurComboBox" TargetType="ComboBox">
<!-- omitted style Properties -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<Grid>
<ToggleButton Name="ToggleButton"
Grid.Column="2"
ClickMode="Press"
Focusable="false"
IsChecked="{Binding Path=IsDropDownOpen,
Mode=TwoWay,
RelativeSource={RelativeSource TemplatedParent}}"
Style="{StaticResource ComboBoxToggleButton}" />
<ContentPresenter Name="ContentSite"
Margin="3,3,23,3"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{TemplateBinding SelectionBoxItem}"
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
IsHitTestVisible="False" />
<TextBox x:Name="PART_EditableTextBox"
Margin="5,3,23,1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Background="Transparent"
Focusable="False"
FontFamily="Arial Narrow"
FontWeight="DemiBold"
Foreground="#FF404040"
IsReadOnly="True"
PreviewMouseDown=""
Style="{x:Null}"
Template="{StaticResource ComboBoxTextBox}"
Text="{TemplateBinding Text}"
Visibility="Hidden" />

<!-- omitted PopUp and ControlTemplate.Triggers -->

基于此,我们有另一种更具体的样式

 <Style x:Key="comboBoxSpecialPage"
BasedOn="{StaticResource OurComboBox}"
TargetType="ComboBox">
<Style.Triggers>
<Trigger Property="SelectedIndex" Value="-1">
<Setter Property="Text" Value="Select value" />
</Trigger>
</Style.Triggers>
</Style>

如果在 ComboBox 中没有选择任何内容,这将导致文本“选择值”,例如在应用程序开始时。

但是当我直接点击 TextBox 文本时,没有任何反应。

所以问题是:如何实现 PopUp 被打开,就像其他的一样ComboBox(没有Text的部分)被点击了?

-编辑-如果我遗漏了有趣的部分,请告诉我,我会添加它们。

最佳答案

也许 IsHitTestVisible 属性正是您要寻找的,更多信息请参见: Textbox tag and IsHitTestVisible property

关于c# - 单击 ComboBox 的 TextBox 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com