首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将标题textblock isEnabled绑定到父组框isEnabled

将标题textblock isEnabled绑定到父组框isEnabled
EN

Stack Overflow用户
提问于 2016-08-02 12:49:13
回答 1查看 118关注 0票数 0

参考这个问题:WPF Databinding: How do I access the "parent" data context?

我想做一些类似的事情,但对于Groupbox的头部(因为头部与Box无关)被禁用,因此总是黑色的,而其余的是浅灰色的。如果框的所有内容都是灰色的,上面的内容是灰色的,但框标题本身是黑色的,这对我来说有点奇怪。

所以我试着使用flq的链接问题中提到的方法,简单地将头textblock的isEnabled属性绑定到groupbox的isEnabled属性,但似乎我的绑定在某一点上失败了,我不知道确切的位置和原因。

下面是我当前的代码:

代码语言:javascript
复制
<GroupBox Header="Change Steps" Grid.Row="2" Grid.ColumnSpan="3" Name="gbChangeSteps">
     <GroupBox.Style>
          <Style TargetType="GroupBox">
              <Setter Property="HeaderTemplate">
                  <Setter.Value>
                      <DataTemplate>
                          <TextBlock Text="{Binding}" FontWeight="Bold" Height="19" Foreground="Black" IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GroupBox}}, Path=isEnabled}"/>
                      </DataTemplate>
                  </Setter.Value>
              </Setter>
          </Style>
      </GroupBox.Style>
<!-- ... (some non relevant Content)-->
</GroupBox>
EN

回答 1

Stack Overflow用户

发布于 2016-08-02 13:13:30

经过进一步的研究,我找到了一篇文章Disable groupBox including the groupBox name in WPF,它结合了属性->创建数据绑定->绑定类型-> up元素,解决了这两个问题,这个问题是关于这个问题的,而最初的那个问题导致了整个重新设计样式,那就是像小g这样的字母在标题中弄乱了。以下是修复该问题的代码:

代码语言:javascript
复制
<GroupBox.Style>
   <Style TargetType="{x:Type GroupBox}">
       <Setter Property="HeaderTemplate">
          <Setter.Value>
               <DataTemplate>
                   <TextBlock Text="{Binding}" FontWeight="Bold" Height="19" IsEnabled="{Binding IsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UIElement}}}">
                       <TextBlock.Style>
                           <Style>
                               <Style.Triggers>
                                   <Trigger Property="Control.IsEnabled" Value="False">
                                       <Setter Property="Control.Foreground" Value ="#FF6D6D6D" />
                                   </Trigger>
                               </Style.Triggers>    
                           </Style>
                      </TextBlock.Style>
                   </TextBlock>
               </DataTemplate>
           </Setter.Value>
       </Setter>
     </Style>
</GroupBox.Style>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38711978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档