Igo*_*kin 3 wpf binding indexed-properties windows-phone
我试图用两个索引器绑定索引属性.该物业看起来像这样
public Item this[int x, int y]
{
get { return _items[x, y]; }
set { _items[x, y] = value; }
}
Run Code Online (Sandbox Code Playgroud)
根据http://msdn.microsoft.com/en-us/library/ms742451.aspx,可以绑定索引属性,如
<object Path="propertyName[index,index2...]" .../>
Run Code Online (Sandbox Code Playgroud)
甚至有一个例子:
<Rectangle Fill="{Binding ColorGrid[20,30].SolidColorBrushResult}" .../>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在XAML中访问该属性时:
<Image Source="{Binding Items[0,0].Image}" />
Run Code Online (Sandbox Code Playgroud)
我在设计师中遇到错误:
未命名的参数"0] .Image"必须出现在命名参数之前.
它似乎解释为0].图像作为下一个参数.我错过了什么?
问题是{Binding}
标记扩展-其中有一个delimiter
是,
.
要解决此问题,您可以使用以下表示法...
<TextBox Width="100" Height="100">
<TextBox.Text>
<Binding Path="MyIndexer[1,1]" />
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
或使用"逃跑" ,
用\
-这也是该链接(但不知何故,他们得到了事实,原来的符号不工作).
<TextBox Text="{Binding MyIndexer[2\,2]}" Width="100" Height="100" />
Run Code Online (Sandbox Code Playgroud)
请注意,索引器,多维数组语法是这样的:)...
public string this[int x, int y]
{
get { return _items[x][y]; }
set { _items[x][y] = value; }
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
838 次 |
最近记录: |