如何在 ListView 的 GridViewColumn 中拥有可单击超链接的列表?
我正在尝试将对象列表绑定到以逗号分隔且可单击的HyperLinks
列表。
如果每个单元格只有其中一个,我可以做到这一点,但我不知道如何为每个单元格绑定一个集合。
在单个 GridViewColumn 单元格中类似这样:
Effect01, Effect02, Effect02, Shader01. Shader02
单击其中任何一个都将调用绑定对象的 Execute 方法。
每个元素都是:
public class EffectLink : IExecutable
{
public string Name {get; set;}
public void Execute ();
}
由 IExecutable
强制执行。
我这样做是因为 Execute
的行为将取决于它是否是着色器、效果等。
有什么想法吗?
编辑:
我发现我可以这样做:
<TextBlock>
<Hyperlink>Effect01</Hyperlink>
<Hyperlink>Effect02</Hyperlink>
</TextBlock>
所以这在单个单元格中显示了 2 个空格分隔的超链接。
另外这个问题可能是相关的,但它显示了如何在代码中而不是xaml中执行此操作: 嵌套文本块和超链接, 如何在 C# 中复制此 XAML?
I am trying to bind a list of objects to a list of HyperLinks
that are comma-separated, and clickable.
I can do it if it's only one of them per cell, but I don't know how to bind a collection per cell.
Something like this in a single GridViewColumn
cell:
Effect01, Effect02, Effect02, Shader01. Shader02
where clicking any of them will call the binded object's Execute
method.
Each element is:
public class EffectLink : IExecutable
{
public string Name {get; set;}
public void Execute ();
}
as enforced by IExecutable
.
I do it this way because the behaviour of Execute
will depend on whether it's a shader, an effect, etc.
Any ideas?
EDIT:
I found that I could do this:
<TextBlock>
<Hyperlink>Effect01</Hyperlink>
<Hyperlink>Effect02</Hyperlink>
</TextBlock>
So this shows 2 space-separate hyperlinks in a single cell.
Also this question might be related, but it shows how do it in code, not xaml:
Nested TextBlocks and Hyperlinks, How do you replicate this XAML in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将
ItemsControl
放入GridViewColumn.CellTemplate
中put an
ItemsControl
in yourGridViewColumn.CellTemplate