场景:循环中的异步任务执行一个方法,该方法包含随程序继续而变化的参数:
while(this._variable < 100)
{
this._variable++;
var aTask = Task.Factory.StartNew(() =>
{
aList.add(this._variable);
update(this._savePoint);
});
}
Run Code Online (Sandbox Code Playgroud)
如果循环运行得比任务完成的速度快,列表是否会添加变量的当前值,还是本地保存的变量并添加原始值?
我已经启动了一个WPF(基于Web)应用程序,它有多个页面.我想在WPF中实现Master页面的概念,这样当我在一个页面的设计/布局中进行更改时,所有其他页面都会跟进而不需要复制和粘贴.
我知道如何使用SlowCheetah更改属性的值,但是如何更改元素的值.
app.Debug.config:
<applicationSettings>
<MyProgram.Properties.Settings>
<setting name="aName" serializeAs="String">
<value>myName</value>
</setting>
</MyProgram.Properties.Settings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)
这是我在app.Staging.config中失败的尝试:
<applicationSetting>
<MyProgram.Properties.Settings>
<setting name="aName" serializeAs="String">
<value xdt:Transform="Replace" xdt:Locator="Match(value)">newName</value>
</setting>
</MyProgram.Properties.Settings>
</applicationSetting>
Run Code Online (Sandbox Code Playgroud) 我无法将ViewModel列表作为项绑定到选项卡控件.
//ShellViewModel.cs
private BindableCollection<RecentUnitViewModel> RecentUnitModels { get; set; }
Run Code Online (Sandbox Code Playgroud)
<!-- ShellView.xaml -->
<GroupBox FontSize="16" Margin="10" FontWeight="DemiBold" Grid.Row="3">
<GroupBox.Header>Last Seen</GroupBox.Header>
<TabControl ItemsSource="{Binding RecentUnitModels}" >
</TabControl>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
意外结果:显示"RecentUnitViewModel"类型而不是View.
c# ×2
wpf ×2
.net-4.0 ×1
asp.net ×1
c#-4.0 ×1
master-pages ×1
mvvm ×1
scope ×1
slowcheetah ×1
wpf-controls ×1
xbap ×1
xpath ×1