public MyClass : viewmodelBase{ private int someVariable; public int SomeVariable { get { return this.someVariable; } set { this.someVariable = value; this.NotifyPropertyChanged("SomeVariable"); } }}解决方法 我有一个片段,用于创建我的视图模型属性.该特定片段使用表达式< Func< T>>其他评论者暗示的符号.
<?xml version="1.0" enCoding="utf-8"?><CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <header> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> <Title>VIEw Model Property</Title> <Description> Declares a property and member suitable for viewmodel implementation. </Description> <HelpUrl> </HelpUrl> <Shortcut>propvm</Shortcut> </header> <Snippet> <Declarations> <literal Editable="true"> <ID>propname</ID> <tooltip>Property name</tooltip> <Default>name</Default> <Function> </Function> </literal> <literal Editable="true"> <ID>type</ID> <tooltip>Property type.</tooltip> <Default>Type</Default> <Function> </Function> </literal> <literal Editable="true"> <ID>init</ID> <tooltip>Member initialisation</tooltip> <Default>null</Default> <Function> </Function> </literal> </Declarations> <Code Language="csharp" Kind="type decl"><![cdaTA[public $type$$propname${ get { return m_$propname$; } set { m_$propname$= value; base.OnPropertyChanged(() => $propname$); }} $type$m_$propname$= default($type$);$end$]]></Code> </Snippet> </CodeSnippet></CodeSnippets>
请注意对base.PropertyChanged()的调用.我有一个viewmodelBase类来为我做繁重的属性通知和验证.
用法是这样的:
>输入propvm
>按两次TAB
>填写突出显示的字段,然后按Tab键翻转到下一个字段!
Walkthrough : Creating a code snippet
总结以上是内存溢出为你收集整理的c# – 编写MVVM样板代码的更好方法?全部内容,希望文章能够帮你解决c# – 编写MVVM样板代码的更好方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)