条件上下文菜单触发器

时间:2015-02-19 15:08:55

标签: c# wpf

我目前有两个按钮。一个按钮是Showappointments(),另一个是ShowTask()。单击其中任何一个时,该按钮的FontWeight将变为粗体。一次只能加一个。我用它作为指示器来显示正在显示的内容。

然后在ListBox中显示这些值。我试图有一个条件,当ShowTask fontweight为Bold时,它将显示Task的相应contextMneu,它将显示一组不同的约会上下文菜单。

<ListBox ItemsSource="{Binding FilteredEventsCollection}"
         <Style TargetType="{x:Type ListBox}">
             <Style.Triggers>
                  <DataTrigger Binding="{Binding Path=AppointmentBold}" Value="Bold">
                       <Setter Property="ContextMenu" Value="{StaticResource Menu1}"></Setter>
                 </DataTrigger>
            </Style.Triggers>
        </Style>
        <ListBox.ItemTemplate>
            <DataTemplate>
                 <StackPanel cal:Message.Attach="[Event MouseDoubleClick] = [Action Open()]">
                     <TextBlock Text="{Binding Date, StringFormat=g}" Foreground="Black" FontWeight="Bold" FontFamily="Segoe UI"/>
                     <TextBlock Text="{Binding Title}" />
                     <TextBlock Text="{Binding Company}" Foreground="Black"/>
                </StackPanel>
            </DataTemplate>
      </ListBox.ItemTemplate>
</ListBox>

用户控制资源

<ContextMenu x:Key="TaskMenu">
    <MenuItem>Open This Task</MenuItem>
</ContextMenu>
<ContextMenu x:Key="AppointmentMenu">
    <MenuItem>Open This Appointment</MenuItem>
</ContextMenu>

这段代码马上就崩溃了,我想知道我是否接近正确,如果我能得到一些指导

0 个答案:

没有答案