在C#中从getter或setter调用异步方法最优雅的方法是什么?
这里有一些伪代码可以帮助解释自己.
async Task<IEnumerable> MyAsyncMethod()
{
return await DoSomethingAsync();
}
public IEnumerable MyList
{
get
{
//call MyAsyncMethod() here
}
}
Run Code Online (Sandbox Code Playgroud) 在XAML中,我可以声明一个DataTemplate,以便在显示特定类型时使用该模板.例如,此DataTemplate将使用TextBlock显示客户的名称:
<DataTemplate DataType="{x:Type my:Customer}">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以定义一个将在IList <Customer>显示时使用的DataTemplate.因此,如果ContentControl的内容是ObservableCollection <Customer>,它将使用该模板.
是否可以使用{x:Type}标记扩展在XAML中声明类似IList的泛型类型?
我有一个像这样定义的ViewModel:
public class LocationTreeViewModel<TTree> :
ObservableCollection<TTree>, INotifyPropertyChanged
where TTree : TreeBase<TTree>
Run Code Online (Sandbox Code Playgroud)
我想在XAML中的DataTemplate的DataType属性中引用它.我怎样才能做到这一点?
我有一个实体类.这个实体有很多属性和实体的数据显示给用户一些TabItems
的TabControl
.我还实现了MVVM方法.
当屏幕首先显示给用户时,我想只绑定活动标签页控件,当用户浏览标签页时,将根据需要产生额外的单独绑定.我怎样才能做到这一点?
我有一个TabControl,显示我的ViewModel的集合.ViewModel和View之间的映射由DataTemplate实现.我使用MVVM但没有PRISM(由于历史原因).ViewModel的Base类有一个Load
加载信息的方法.我想要做的是仅在选择与当前ViewModel相对应的TabItem(延迟加载)时调用此方法.有任何想法吗?PS我找到了类似问题的答案 - 懒惰加载WPF标签内容 但我无法理解如何在MVVM中使用方法2.
wpf ×4
mvvm ×3
c# ×2
xaml ×2
async-ctp ×1
binding ×1
generics ×1
lazy-loading ×1
mvvm-light ×1
tabcontrol ×1