我绑定List<string>到Repeater控件.现在我想使用的Eval功能中显示的内容ItemTemplate类似
<%# Eval("NAME") %>.
Run Code Online (Sandbox Code Playgroud)
但我不确定我应该使用什么而不是NAME.
我有一个ListBox绑定到ViewModel上的子集合.列表框项基于父ViewModel上的属性在datatemplate中设置样式:
<Style x:Key="curveSpeedNonConstantParameterCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=DataContext.CurveSpeedMustBeSpecified,
ElementName=someParentElementWithReferenceToRootDataContext}"
Value="True">
<Setter Property="Control.Visibility" Value="Hidden"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
我收到以下输出错误:
System.Windows.Data Error: 39 : BindingExpression path error:
'CurveSpeedMustBeSpecified' property not found on
'object' ''BindingListCollectionView' (HashCode=20467555)'.
BindingExpression:Path=DataContext.CurveSpeedMustBeSpecified;
DataItem='Grid' (Name='nonConstantCurveParametersGrid');
target element is 'TextBox' (Name='');
target property is 'NoTarget' (type 'Object')
Run Code Online (Sandbox Code Playgroud)
因此,如果我将绑定表达式更改为"Path=DataContext.CurrentItem.CurveSpeedMustBeSpecified"它可以工作,但只要父用户控件的datacontext是a BindingListCollectionView.这是不可接受的,因为用户控件的其余部分会自动绑定到CurrentItemon的属性BindingList.
如何在样式中指定绑定表达式,以便无论父数据上下文是集合视图还是单个项目,它都可以工作?
我有一个非常简单的WPF应用程序,我在其中使用数据绑定来允许编辑一些自定义CLR对象.我现在想要在用户单击保存时输入一些输入验证.但是,我读过的所有WPF书籍并没有真正为这个问题投入任何空间.我看到你可以创建自定义ValidationRules,但我想知道这对我的需求是否有点过分.
所以我的问题是:是否有一个很好的示例应用程序或文章,它演示了在WPF中验证用户输入的最佳实践?
我想连接一个BindingSource类对象列表,然后将对象值连接到一个ComboBox.
谁能建议怎么做?
public class Country
{
public string Name { get; set; }
public IList<City> Cities { get; set; }
public Country()
{
Cities = new List<City>();
}
}
Run Code Online (Sandbox Code Playgroud)
是我的类,我想将其name字段绑定到BindingSource,然后可以与ComboBox关联
这是我的HTML:
<input id="selectedDueDate" type="text" ng-model="selectedDate" />
Run Code Online (Sandbox Code Playgroud)
当我在框中输入时,模型通过双向绑定机制进行更新.甜.
但是,当我通过JQuery这样做...
$('#selectedDueDate').val(dateText);
Run Code Online (Sandbox Code Playgroud)
它不会更新模型.为什么?
我正在使用没有表达式混合,只使用vs2010中的XAML编辑器.除此之外,我越来越多地看到了对设计时数据绑定的需求.对于简单的情况,该FallbackValue属性非常好用(Textboxes和TextBlocks等).但特别是在处理ItemsControl等时,确实需要在设计器中显示样本数据,以便您可以调整和调整控件和数据模板,而无需运行可执行文件.
我知道ObjectDataProvider允许绑定到一个类型,因此可以提供可视化的设计时数据,但是有一些杂耍,允许绑定真实的运行时数据,而不通过加载设计时加载浪费资源, dummied数据和运行时绑定.
我真正想要的是能够拥有,比如"John","Paul","George"和"Ringo"在XAML设计师中作为我的可设置项目出现ItemsControl,但是当应用程序显示真实数据时运行.
我也知道Blend允许一些花哨的属性来定义WPF在运行时条件下有效忽略的设计时绑定数据.
所以我的问题是:
1.我如何利用visual studio XAML设计器中的集合和非平凡数据的设计时绑定,然后平滑地交换到运行时绑定?
2.其他人如何解决这个设计时与运行时数据问题?就我而言,我不能很容易地为两者使用相同的数据(例如,数据库查询可以使用相同的数据).
3.他们可以用于数据集成XAML设计的表达混合替代品吗?(我知道有一些替代方案,但我特别想要一些我可以使用的东西,看看绑定的样本数据等?)
上面的例子工作正常,因为1.0-rc4版修复了需要不必要变量的问题.
我完全按照文档中的描述进行操作,但它不起作用:
main.xml中:
<layout xmlns:andr...
<data>
</data>
<include layout="@layout/buttons"></include>
....
Run Code Online (Sandbox Code Playgroud)
buttons.xml:
<layout xmlns:andr...>
<data>
</data>
<Button
android:id="@+id/button"
...." />
Run Code Online (Sandbox Code Playgroud)
MyActivity.java:
... binding = DataBindingUtil.inflate...
binding.button; ->cannot resolve symbol 'button'
Run Code Online (Sandbox Code Playgroud)
如何获得按钮?
java data-binding android android-button android-databinding
什么是懒惰加载?
[阅读几个答案后编辑]为什么人们经常使用这个术语?
假设您只使用ASP/ADO记录集并将其加载数据或ADO.NET数据源以用于gridview.
我想我应该问为什么人们使用"懒惰加载"一词,"其他"类型是什么?
我正在尝试格式化绑定到TimeSpan属性的文本块.如果属性是类型DateTime但它失败,如果它是a,它可以工作TimeSpan.我可以使用转换器完成它.但我试图找出是否有其他选择.
示例代码:
public TimeSpan MyTime { get; set; }
public Window2()
{
InitializeComponent();
MyTime = DateTime.Now.TimeOfDay;
DataContext = this;
}
Run Code Online (Sandbox Code Playgroud)
XAML
<TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/>
Run Code Online (Sandbox Code Playgroud)
我希望文本块只显示小时和分钟.但它显示为:
19:10:46.8048860
data-binding ×10
wpf ×5
c# ×3
xaml ×3
.net ×1
android ×1
angularjs ×1
asp.net ×1
combobox ×1
datatemplate ×1
design-time ×1
designer ×1
java ×1
javascript ×1
jquery ×1
lazy-loading ×1
repeater ×1
validation ×1
winforms ×1