我一直在阅读有关用户和自定义控件之间差异的一些解释,例如:http: //www.wpftutorial.net/CustomVsUserControl.html
例如,我想创建一个带有2个组合框的数据网格的简单组合,这些组合框负责更改数据网格项目的值.我想为此创建一个特定的控件,因为我将使用它很多次.我想实现后面的逻辑然后在xaml调用中我只需要指定itemsSource.
对于此示例,我应该创建用户控件还是自定义控件?由于我将拥有属性和逻辑,我应该有一个用于此控件的viewmodel吗?
编辑:你知道一些文章在这两个选项之间有明确的概念分离吗?
我想在我的窗口标题中连接我的viewmodel中的属性和来自资源文件的值.这是我没有来自资源的字符串工作:
Title="Binding Path=Description, StringFormat=Building: {0}}"
Run Code Online (Sandbox Code Playgroud)
现在我想删除"Building"字符串,并从我在其他地方使用的资源中输入一个值:
xmlns:res="clr-namespace:Project.View.Resources"
{res:Strings.TitleDescription}
Run Code Online (Sandbox Code Playgroud)
我怎样才能定义两者?我可以定义为{1}参数吗?
我需要一个工具来生成java中的控制流,但不是一个可视化绘图,我可以使用像路径条件一样的东西.任何人 ?
我有以下文本框在viewmodel中具有propertychanged.当我插入Binding.ValidationRules并插入一些错误的值时,它不会触发propertychanged事件,我不明白为什么.有帮助吗?
<TextBox Name="RiskCode" HorizontalAlignment="Left" Margin="101.923,8,0,81" TextWrapping="Wrap" Width="56.077" MaxLength="6" Validation.ErrorTemplate="{StaticResource validationTemplate}"
Style="{StaticResource textBoxInError}">
<TextBox.Text>
<Binding Path="RiskCode" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<vm:RiskCodeValidation/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud) 我有一个描述的文本框,我想添加到窗口标题中的一些常量文本.像"描述:"+描述.我可以在xaml中轻松完成吗?
我的第一种方法是创建一个新属性,该属性使用常量字符串返回Description的值.问题是我没有得到PropertyChanged事件,所以窗口的标题没有刷新.我想在描述的seter上创建一个事件,但我觉得它太难看了.
你能救我吗?
ItemTemplateSelector应用于对象集合 - 例如ItemsControl.
单项控件是否有相同的功能?我想选择一个考虑对象内部值的数据模板.我可以为列表而不是单个项目执行此操作.
编辑:
在另一个屏幕中我有这个实现:
<ItemsControl ItemsSource="{Binding Path...} ItemTemplateSelector={...}
Run Code Online (Sandbox Code Playgroud)
问题是,现在我只有一个项目,但仍然希望有一个itemtemplateselector ...
编辑2:
出现的问题也可能是:我怎样才能在ItemsSource中只放一个项目?
wpf ×5
binding ×2
c# ×1
controls ×1
datatemplate ×1
events ×1
flow ×1
java ×1
properties ×1
textbox ×1
validation ×1
viewmodel ×1
wpf-controls ×1