如何捕获下拉按钮中的“菜单项1”文本并分配给文本框

时间:2009-07-23 13:56:43

标签: button drop-down-menu

我正在使用下拉按钮的codeproject中的代码段。

<    m:SplitButton Content="TWB" Name="btnSearch"
                          Grid.Row="0" Grid.Column="0"
                          Style="{StaticResource aeroNormalColorSplitButtonStyle}"
                          Click="btnSearch_Click" 
                          Width="60" Height="30"
                          VerticalAlignment="Center" 
                          HorizontalAlignment="Left"   
                          Mode="{Binding ElementName=modeSelector, Path=SelectedItem}"
                          Placement="{Binding ElementName=placementSelector, Path=SelectedItem}" MouseLeftButtonDown="btnSearch_MouseLeftButtonDown"
                                MenuItem Header="TWB"/&gt;
                                MenuItem Header="PWB"&gt;
                                /MenuItem&gt;
                          </m:SplitButton>

所以,除了这个拆分按钮,我有一个文本框(基本上是一个搜索框)。因此,由于上面的代码片段将2个菜单项显示为“TWB”和“PWB”,因此我必须在从下拉按钮中选择TWB时填充文本框,同样的文本也应该显示在按钮上(TWB)

如果我从下拉按钮中单击PWB,我应该在按钮上获得“PWB”名称,同样的PWB名称也应该显示在文本框中。

请帮帮我。

谢谢你, 拉姆

1 个答案:

答案 0 :(得分:0)

我尝试将ListBox添加到SplitButton,现在我能够在文本框中看到文本。

将上述Xaml代码修改为

<m:SplitButton Content="TWB" Name="btnSearch"
                    Grid.Row="0" Grid.Column="0"
                    Style="{StaticResource aeroNormalColorSplitButtonStyle}"
                    Click="btnSearch_Click" 
                    Width="60" Height="30"
                    VerticalAlignment="Center" 
                    HorizontalAlignment="Left"  
                    Mode="{Binding ElementName=modeSelector, Path=SelectedItem}"
                    Placement="{Binding ElementName=placementSelector, Path=SelectedItem}">
                    <ListBox x:Name="TransitionKind" SelectionChanged="TransitionKind_SelectionChanged">
                        <ListBoxItem Content="TWB"/>
                        <ListBoxItem Content="PWB"/>
                    </ListBox>
                </m:SplitButton>

在后面的代码中,

btnSearch.Click + = new RoutedEventHandler(btnSearch_Click);                   TransitionKind.SelectionChanged + = new System.Windows.Controls.SelectionChangedEventHandler(TransitionKind_SelectionChanged);

private void TransitionKind_SelectionChanged(object sender,SelectionChangedEventArgs e)             {                   btnSearch.Content =((ListBoxItem)TransitionKind.SelectedItem).Content;                   txtBxSearch.Text =“搜索”+(字符串)btnSearch.Content;             }

现在,我可以看到文本框中的文本更改为单击下拉按钮。

谢谢你, 拉姆