我无法从位置 OF 列表框.触发器访问名称 "LeftButton" 和 "Right Button"


<GroupBox BorderThickness="0" Grid.Row="1" Header="Members" Style="{StaticResource CenteredHeaderGroupBoxStyle}">
     <GroupBox.HeaderTemplate>
         <DataTemplate>
             <Border>
                <Grid HorizontalAlignment="Center">
                  <ToggleButton Name="LButton" Content="Members" Style="{StaticResource TabL}" />
                  <ToggleButton Name="RButton" Content="Groups" Style="{StaticResource TabR}" />
                </Grid>
              </Border>
          </DataTemplate>
     </GroupBox.HeaderTemplate>    
     <GroupItem>
      <Border>
      <ListBox Name="GroupMemberList" ItemsSource="{Binding Path=MembersoftheCase}">
           <ListBox.Triggers>
               <Trigger SourceName="LButton" Property="IsChecked" Value="True">
                    <Setter Property="ListBox.ItemsSource" Value="{Binding Path=MembersoftheCase}"/>
                    <Setter Property="ListBox.ItemTemplate" Value="{StaticResource MListTemplate}"/>
               </Trigger>
               <Trigger SourceName="RButton" Property="IsChecked" Value="True">
                    <Setter Property="ListBox.ItemsSource" Value="{Binding Path=GroupsoftheCase}"/>
                    <Setter Property="ListBox.ItemTemplate" Value="{StaticResource GListTemplate}"/>
               </Trigger>
      </ListBox.Triggers>
   </ListBox>
</Border>

我在编译时遇到异常由于此错误,设计器未加载

属性"SourceName"不代表"Trigger"的有效目标,因为找不到名为"LButton"的元素。确保目标在任何使用它的设置程序、触发器或条件之前声明。

我还试着把触发器放在按钮上,使GroupmembersList成为目标

则无法找到TargetName

F1 F1

对象超出范围,来自文档:

您可以将此属性设置为应用触发器集合(此触发器所属的集合(的范围内的任何元素的名称。这通常是包含此触发器的模板中的命名元素。

可以使用x:name指令语法命名对象。

如果要在外部对象上触发,请使用DataTrigger。(使用ListBox.Style.Triggers而不是立即触发器。(

最新更新