我可以对飞出做出响应,然后用程序为其控件赋值吗

本文关键字:程序 控件 赋值 然后 响应 我可以 | 更新日期: 2023-09-27 18:27:24

我知道在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.Opening或Opened事件。Flyout应该是发送者,您可以在Flyout的内容上使用FrameworkElement.FindName或VisualTreeHelper来查找Flyout的子控件。数据绑定可能会更干净、更容易。

--Rob