我有一堆C#类,它们是从XSD自动生成的.然后我基于那些C#类生成XML文件.到目前为止还没有任何东西
问题:
生成的XML文件正在通过验证,验证需要一个额外的属性到所有XML标签xsi:nil="true".基本上标签看起来应该像: <testTag.01 xsi:nil="true" NV="123123" />但我无法在C#中实现.我的代码是:
Run Code Online (Sandbox Code Playgroud)if (myObject.TestTag.HasValue) { t.testTag01 = new testTag01(); t.testTag01.Value = myObject.TestTag.Value; } //else //{ // t.testTag01 = new testTag01(); // t.testTag01.NV = "123123";//Not Recorded //}
此代码生成<testTag.01>SomeValue</testTag.01>或<testTag.01 xsi:nil="true"/>.
如果我取消注释ELSE,结果将是:<testTag.01>SomeValue</testTag.01>或<testTag.01 NV="123123" />.
所以我不知道如何获得验证工具所需的格式.有任何想法吗 ?
PS
这是自动生成的C#类:
/// [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd","4.0.30319.33440")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code") ] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true,Namespace ="http://www.blabla.org")]
public partial class testTag01 {
Run Code Online (Sandbox Code Playgroud)private string nvField; private SomeEnum valueField; /// <remarks/> [System.Xml.Serialization.XmlAttributeAttribute()] public string NV …
我是Silverlight的新手,我相信我的问题非常简单,但在任何地方都找不到答案.所以,我有一个应用程序,我想让我的菜单看起来像WP7中的瓷砖.我决定为每个瓷砖使用一个按钮控件,但我觉得这不是最好的决定.当用户单击按钮时,该按钮会更改其设计(背景颜色,前景色等)以指示已单击该按钮.在我的WP7上,瓷砖的设计不同.当用户点击它时,它会下降(下沉)以指示它已被点击.所以,我的问题是:有没有一种简单的方法来模拟自然Tiles行为,当它们被点击或我必须在按钮控件上构建我自己的行为?
提前致谢.干杯.
我有一个非常奇怪的问题.在我的WP7应用程序中,我有一个数据透视控件和一个在其中定义的项目模板(或者在资源中,我尝试了两种方式,但仍然是同样的问题).在模板中,我有一个定义了EventToCommand的常规按钮(EventName ="Click").我在Pivot外面也有相同的复制粘贴按钮.问题是枢轴外的按钮工作正常,但内部的按钮不起作用.实际上我已经注意到,我的枢轴内的任何命令都不起作用.我在ViewModel中正确处理了Command,因为相同的按钮,但在pivot之外工作得很好.任何想法可能是什么问题?请帮忙.提前致谢.干杯.
PS我的代码非常标准,但以下是以下情况:
<controls:Pivot Grid.Row="0"
x:Name="PivotControl"
Title="{Binding ApplicationTitle}"
ItemsSource="{Binding BlaBla}">
Run Code Online (Sandbox Code Playgroud)
<controls:Pivot.ItemTemplate>
<DataTemplate>
<StackPanel>
<Button Content="Click Me">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cmd:EventToCommand Command="{Binding MyCommand, Mode=OneWay}" CommandParameterValue="Test"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
...
Run Code Online (Sandbox Code Playgroud)
和ViewModel代码:
public RelayCommand<string> MyCommand
{
get;
private set;
}
//And in the constructor ...
MyCommand= new RelayCommand<string>((param) => HandleTheCommand(param));
Run Code Online (Sandbox Code Playgroud)
...
再次感谢.