簡體   English   中英

如何通過單擊按鈕調出一個框(列表框)

[英]How to bring up a box (listbox) from a button click

我正在做這個項目,需要列出所有SQL本地和遠程服務器。 因為查找遠程服務器需要時間,所以在大多數情況下,我將在下拉組合框中列出本地服務器,以便用戶可以從那里選擇一個實例。 這部分我沒有問題。 但是,我還需要列出所有遠程服務器,所以我認為一種聰明的方法是通過組合框旁邊的瀏覽按鈕,因此用戶如果要選擇遠程SQL實例,可以單擊它。 我可以找到所有沒有問題的遠程SQL實例,並將它們放在ObservableCollection變量中。 現在的問題是,如何調出其中包含所有遠程服務器名稱的列表框? 我假設我需要兩部分代碼:一個用於xaml,一個是click事件背后的C#代碼。 任何幫助是極大的贊賞!

我想出了如何從按鈕中打開上下文菜單的方法:

這是xaml:

                        <Button.ContextMenu>

                            <ContextMenu Name="BrowseButtonContext"
                                ItemsSource="{Binding RemoteSqlServers}"
                                         MouseDown="Select_Click">

                            </ContextMenu>
                        </Button.ContextMenu>
                    </Button>

這是代碼:

 private void BrowseButton_Click(object sender, RoutedEventArgs e)
    {            
        System.Windows.Controls.ContextMenu cm = BrowseButtonContext as System.Windows.Controls.ContextMenu;
        cm.PlacementTarget = sender as System.Windows.Controls.Button;
        cm.IsOpen = true;            
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM