Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows phone动态删除对象_C#_Xaml_Data Binding_Windows Phone - Fatal编程技术网

C# Windows phone动态删除对象

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

我在XAML中使用转换器的数据绑定,如下所示:

  <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>