我有 WPF 列表框:
<ListBox Name="FileDownloads" SelectionMode="Extended">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Name="Url" Text="{Binding Url}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我喜欢使用后面的代码按名称绑定 ListBox 的能力:this.OneWayBind(ViewModel, vm => vm.DownloadManager.FileDownloads, v => v.FileDownloads.ItemsSource);在代码隐藏中进行
绑定有助于重构。
有没有办法使用代码隐藏在列表框内绑定 Url texbox?
有没有办法使用代码隐藏在列表框内绑定 Url 文本框?
现在不行。您可以像现在一样使用 XAML 绑定,也可以将数据模板放在 UserControls 中。
这种比较麻烦的方法的一个安慰是,如果您注册您的数据模板 UserControls 并对其实施IViewFor<TViewModel>:
Splat.Locator.CurrentMutable.Register(typeof(MyView), typeof(IViewFor<MyViewModel>));
Run Code Online (Sandbox Code Playgroud)
然后,您可以简单地将 ListBox 编写为:
<ListBox Name="FileDownloads" SelectionMode="Extended" />
Run Code Online (Sandbox Code Playgroud)
此行将自动为您连接一个 DataTemplate:
this.OneWayBind(ViewModel, vm => vm.DownloadManager.FileDownloads, v => v.FileDownloads.ItemsSource);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |