C# Windows phone动态删除对象
我在XAML中使用转换器的数据绑定,如下所示:C# Windows phone动态删除对象,c#,xaml,data-binding,windows-phone,C#,Xaml,Data Binding,Windows Phone,我在XAML中使用转换器的数据绑定,如下所示: <TextBlock Text="{Binding Name}" /> <Border Background="{Binding Converter={StaticResource ConversationMessagesColor}}"> <TextBlock Text="{Binding Converter={StaticResource ConversationMessages}}" FontS
<TextBlock Text="{Binding Name}" />
<Border Background="{Binding Converter={StaticResource ConversationMessagesColor}}">
<TextBlock Text="{Binding Converter={StaticResource ConversationMessages}}" FontSize="{Binding Converter={StaticResource ConversationMessagesFontSize}}" Foreground="{Binding Converter={StaticResource ConversationMessagesForeground}}"/>
</Border>
但是,在某些情况下,我确实需要完全没有“边界”属性。在某些转换器中执行逻辑并没有问题,但我不知道可以使用哪个属性或方法来删除、隐藏(或禁用)边框
比如:
<Border Delete="{Binding Converter={StaticResource ConversationMessagesDelete}}" ...
有几种方法可以做到这一点
在viewmodel中有一个控制边框颜色的笔刷
属性。如果不想显示,只需将颜色设置为透明即可
将边框
替换为网格
控件。然后用文本块将另一个矩形
(作为背景色)放入网格
。像这样的
然后,您只需控制矩形的可见性
,即可相应地隐藏和显示背景色
你的意思是,在某些情况下,你想隐藏边框
,但仍然显示文本块
?广告1。)控制边框的颜色是我做的第一件事,但它有一个重要问题——如果文本太长(如果我不想要文本框太长),边框会剪切文本。Tx为2,我将尝试。啊,我的“宽度”设置为80,这就是问题所在!现在我把它改为“min width”,它就像一个符咒。是的,如果TextBlock
的Text
被剪切,这意味着它的父容器没有足够的空间来分配。因此,是的,既然您删除了宽度约束,它应该可以工作。:)
<Grid>
<Rectangle x:Name="BackgroundVisual" Fill={StaticResource SomeBrush}/>
<TextBlock ... />
</Grid>