Jos*_*osh 2 silverlight xaml binding
在Silverlight中,我有一个超链接按钮定义如下:
<HyperlinkButton Content="{Binding FileName}" NavigateUri="{Binding MailLogAttachmentID, StringFormat=\/DownloadFile.aspx?objecttype\=proposalattachment&id\=\{0\}}" />
Run Code Online (Sandbox Code Playgroud)
当我尝试查看设计器时,而不是XAML,我得到一个未处理的异常发生错误(索引(从零开始)必须大于或等于零且小于参数列表的大小)它给了我重新加载设计师的选项.在XAML中开发时,这也会破坏任何智能感知.如果我删除NavigateUri StringFormat表达式,一切都很好.应用程序编译正常,超链接按钮按预期工作.
有没有其他方法可以在不破坏设计者的情况下获得此功能?
如果您不想要复杂的转义表达式,这应该可以解决问题:
<HyperlinkButton DataContext="{StaticResource s}" Content="{Binding FileName}">
<HyperlinkButton.NavigateUri>
<Binding Path="MailLogAttachmentID"
StringFormat="/DownloadFile.aspx?objecttype=proposalattachment&id={0}" />
</HyperlinkButton.NavigateUri>
</HyperlinkButton>
Run Code Online (Sandbox Code Playgroud)
在任何情况下,生成异常的字符都是符号,所以如果你这样写,它也应该工作:
<HyperlinkButton Content="{Binding FileName}"
NavigateUri="{Binding MailLogAttachmentID, StringFormat=/DownloadFile.aspx?objecttype\=proposalattachment&amp;id\={0}}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |