我们可以创建一个所有组合框所指的组合框事件吗?

时间:2012-04-29 05:32:18

标签: c# wpf visual-studio-2010 xaml

我必须使用预览文本输入事件,我必须将其应用于我的应用程序中的所有组合框。

示例

 private void cmbClass_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
    cmbClass.IsDropDownOpen = true;
 }

无论如何我可以使用标题(任何可能的方式),这样我就不必在所有组合框中输入预览文本输入(总共98个)?

1 个答案:

答案 0 :(得分:1)

在app.xaml中创建一个样式。这将应用于您的应用程序的所有组合框,但如果您想在特定窗口的组合框中使用它,请将其写入标记<Window.Resources>

<Application.Resources>
    <Style x:Key="key1" TargetType="ComboBox">
        <Setter Property="IsDropDownOpen" Value="True"/>
    </Style>
</Application.Resources>

<Window.Resources>
   ...
</Window.Resources>

您可以为所有组合框分配一个公共事件。将此代码写入.cs文件并选择所有组合框并将此事件分配给PreviewTextInput事件。

private void cmboxes_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    ((ComboBox)sender).IsDropDownOpen = true;
}