我正在尝试将wpf中的Dockpanel数据绑定到viewmodel集合.我正在使用它来创建一个可自定义的表单,所以我不知道在运行之前有多少个孩子应该在dockpanel中.
我遇到的问题是,当我从数据模板中设置它时,附加属性DockStyle.Dock似乎没有得到应用.以下xaml是我正在做的简化版本.我希望第一个按钮填满屏幕的顶部,但真正发生的是它们是水平堆叠的.即使对DockPanel.Dock属性进行硬编码也不会影响按钮的布局.当我在XAMLPad中查看Visual Tree时,我注意到有ContentPresenters作为DockPanel的子项而不是按钮.ContentPresenters的布局是否与其他元素不同?是否有另一种数据绑定到DockPanels的技术?
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Grid>
<ItemsControl >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<DockPanel LastChildFill="True"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button DockPanel.Dock="{Binding}" Content="{Binding}"></Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<sys:String>Top</sys:String>
<sys:String>Bottom</sys:String>
<sys:String>Left</sys:String>
<sys:String>Right</sys:String>
<sys:String>Top</sys:String>
<sys:String>Top</sys:String>
<sys:String>Top</sys:String>
</ItemsControl>
</Grid></Page>
Run Code Online (Sandbox Code Playgroud)

我有以下代码:
JToken hours = jToken["hours"];
Run Code Online (Sandbox Code Playgroud)
它返回以下 JSON:
{
"monday": [
["11:00", "21:30"]
],
"tuesday": [
["11:00", "21:30"]
],
"wednesday": [
["11:00", "21:30"]
],
"thursday": [
["11:00", "21:30"]
],
"friday": [
["11:00", "2:00"]
],
"saturday": [
["11:00", "2:00"]
],
"sunday": [
["11:00", "21:30"]
]
}
Run Code Online (Sandbox Code Playgroud)
我需要将其解析为类型化集合,例如
<string, string>
Run Code Online (Sandbox Code Playgroud)
或为任何一天选择一个值,例如
hours.Where(p=>p["monday"].Value<string>())
Run Code Online (Sandbox Code Playgroud)
我试过:
IList<JToken> a = hours.Children().ToList();
var a = JsonConvert.DeserializeObject<Pair<string, string>>(hours.Value<string>());
var a = hours["monday"];
hours.Where(p=>p["monday"].Value<string>())
Run Code Online (Sandbox Code Playgroud)
没有工作。
如何在不使用Runnable类或在run()方法中实现我的线程代码的情况下在java中执行此操作?
public void dud()
{
System.out.println("create me on a new thread");
}
public void main()
{
Thread t1 = new Thread(dud).start();
Thread t2 = new Thread(dud).start();
}
Run Code Online (Sandbox Code Playgroud) 我是.net核心的新手.我需要一些帮助来配置我的project.json文件来创建一个带.net核心的类库.我实际上阅读了很多文档,但是由于有大量的东西需要阅读,我很遗憾.我知道我必须使用NETStandardLibray(https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md),但我不知道怎么把它放进去我的config.json文件.
这是我的config.json文件:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
},
"xunit": "2.1.0",
"dotnet-test-xunit": "1.0.0-rc2-build10025"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dnxcore50",
"portable-net45+win8"
]
}
},
"testRunner": "xunit"
}
Run Code Online (Sandbox Code Playgroud)
我想构建一个简单的类库,以便在另一个项目中重用,我也希望它有单元测试.
我在这里的主要困难是关于绰号.他们真是一团糟.我只是想构建一个可以在任何平台上使用的类库,但看起来我必须在我的project.json中选择平台.在已弃用的标记列表中,我不知道我应该使用什么名字.为了使用NET标准库,我应该将具有nuget标识符netcoreapp1.0的平台.NET Standard Application 1.5作为目标,还是应该使用具有nuget标识符netstandard1.3的平台.NET Platform 5.0?什么是正确的平台?NETStandard Library不应该与平台无关吗?我应该将这些标识符放在我的project.json的依赖项或框架部分中吗?那两个部分的区别是什么?我完全迷失了:(
我们有一堆快速移动的内部nuget程序包。
我们希望这些软件包的使用者始终使用最新版本。当前,我们通过在构建之前在命令行上运行nuget update来在CI系统上执行此操作。
但是,我们现在正在转向.net标准/核心。在.net标准csproj上运行nuget update时,出现以下错误:
无法更新。该项目不包含packages.config文件。
即使.net核心/标准csproj文件已删除了Nuget,Nuget仍然似乎希望使用packages.config。
如何使用.net核心/标准csproj项目的命令行将PackageReferences更新到最新版本?
更新:我创建了一个错误报告,以防万一这是这里的错误:https : //github.com/NuGet/Home/issues/4945
我有一个 netstandard2.0 项目,我用它来与 3rd 方 Web 服务交互。我需要在同一个解决方案中从较旧的 .net 4.6.2 项目中引用该项目,但是当我这样做时,我会收到一堆关于需要引用我定义的类型的错误。
例如,我将调用 netstandard 库中的一个返回 Task 的方法,但我会收到一个错误,提示我需要对 System.Threading.Tasks 的引用,即使我已经有了一个。
在我的视图中,我有一个滑块和一个组合框.
当我更改滑块时,我希望组合框改变.
当我更改组合框时,我想要更改滑块.
我可以使用其中一个,但如果我尝试更新两个,我会收到StackOverflow错误,因为一个属性在无限循环中不断更新另一个属性.
我已经尝试进入一个Recalculate(),其中更新在一个地方完成,但仍然遇到递归问题.
如何在不进行递归的情况下让每个控件更新另一个?
在视图中:
<ComboBox
ItemsSource="{Binding Customers}"
ItemTemplate="{StaticResource CustomerComboBoxTemplate}"
Margin="20"
HorizontalAlignment="Left"
SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"/>
<Slider Minimum="0"
Maximum="{Binding HighestCustomerIndex, Mode=TwoWay}"
Value="{Binding SelectedCustomerIndex, Mode=TwoWay}"/>
Run Code Online (Sandbox Code Playgroud)
在ViewModel中:
#region ViewModelProperty: SelectedCustomer
private Customer _selectedCustomer;
public Customer SelectedCustomer
{
get
{
return _selectedCustomer;
}
set
{
_selectedCustomer = value;
OnPropertyChanged("SelectedCustomer");
SelectedCustomerIndex = _customers.IndexOf(_selectedCustomer);
}
}
#endregion
#region ViewModelProperty: SelectedCustomerIndex
private int _selectedCustomerIndex;
public int SelectedCustomerIndex
{
get
{
return _selectedCustomerIndex;
} …Run Code Online (Sandbox Code Playgroud) 我正在为我的WPF C#应用程序编写NUnit测试代码.这里有一些我的方法有MessageBox.Show("");但我们不知道如何在代码中处理这个.
请通过提供解决方案帮助我.
谢谢,
我需要监视WPF窗口上最顶层的属性值更改.我写的是这样的:
static MainWindow()
{
TopmostProperty.OverrideMetadata(typeof(Window), new PropertyMetadata(new PropertyChangedCallback(Changed)));
}
public MainWindow()
{
InitializeComponent();
}
private static void Changed(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:他调用类型'WpfApplication4.MainWindow'上的构造函数,它与指定的绑定约束相匹配,引发了一个异常.行号'4'和行位置'9'."
在project.json项目系统下,我能够指定每个框架的框架程序集依赖关系。dotnet 文档(现已过时)显示了以下示例。
{
"frameworks":{
"net20":{
"frameworkAssemblies":{
"System.Net":""
}
},
"net35":{
"frameworkAssemblies":{
"System.Net":""
}
},
"net40":{
"frameworkAssemblies":{
"System.Net":""
}
},
"net45":{
"frameworkAssemblies":{
"System.Net.Http":"",
"System.Threading.Tasks":""
}
},
".NETPortable,Version=v4.5,Profile=Profile259": {
"buildOptions": {
"define": [ "PORTABLE" ]
},
"frameworkAssemblies":{
"mscorlib":"",
"System":"",
"System.Core":"",
"System.Net.Http":""
}
},
"netstandard16":{
"dependencies":{
"NETStandard.Library":"1.6.0",
"System.Net.Http":"4.0.1",
"System.Threading.Tasks":"4.0.11"
}
},
}
}
Run Code Online (Sandbox Code Playgroud)
对于更新后的 dotnet sdk v1.1.1,如何在 csproj 下执行此操作?我想引用 net40 的 System.Configuration,但不引用 netstandard 1.6。