簡體   English   中英

我可以對Flyout飛出做出響應,然后以編程方式為其控件分配值嗎?

[英]Can I respond to a Flyout flying out and then assign values to its controls programatically?

我知道在XAML世界中將數據分配給控件的規范方法是像在XAML文件中那樣使用綁定:

<ListBox x:Name="lstbxPhotosets" ItemsSource="{Binding photosets}" . . .

...但是我會盡快將其分配給代碼,如下所示:

private void flyout_FlewOpen(object sender, RoutedEventArgs reargs)
{
    sender.lstbxPhotosets.Items = GetPhotosets();
}

internal static List<String> GetPhotosets()
{
    List<String> psets = new List<string>();
    using (var db = new SQLite.SQLiteConnection(App.DBPath))
    {
        string sql = "SELECT photosetName FROM PhotraxBaseData ORDER BY photosetName";
        psets = db.Query("sql"); // <= pseudocode; this doesn't compile
    }
    return psets;
}

這可能嗎? 如果是這樣,Flyout會暴露什么事件供我使用(沒有雙關語)?

我可以通過“發件人”訪問彈出按鈕上的控件,還是... ???

注意:這是Windows 8.1應用程序,並且是本機(非Callista)彈出按鈕。

聽起來您正在尋找Flyout。 打開或已打開事件。 Flyout應該是發送者,您可以在Flyout的Content上使用FrameworkElement.FindNameVisualTreeHelper查找Flyout的子控件。 數據綁定可能更干凈,更容易。

- 搶

暫無
暫無

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

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