Je les suivantes struct
:Bind IsChecked à booléennes de struct WPF
public struct StreamContainer
{
public string Name { get; set; }
public bool IsVisible { get; set; }
public Canvas Canvas { get; set; }
}
Le député suivant:
private ObservableCollection <StreamContainer> m_listOfStreams = new ObservableCollection<StreamContainer>();
Un la propriété suivante:
public ObservableCollection<StreamContainer> ListOfStreams
{
get { return m_listOfStreams; }
set
{
m_listOfStreams = value;
OnPropertyChanged();
}
}
Dans mon ' Xaml ', j'ai ceci:
<MenuItem x:Name="StreamsMenu" Header="Streams" Foreground="DarkRed" Focusable="False">
<MenuItem x:Name="ColorStream" Header="Color" IsCheckable="True" IsChecked="True" Foreground="DarkRed" Click="SelectStream_OnClick"/>
<MenuItem x:Name="GrayStream" Header="Depth" IsCheckable="True" Foreground="DarkRed" Click="SelectStream_OnClick"/>
</MenuItem>
Est-il possible de lier chacun des MenuItems
IsChecked
propriété (ColorStream
et GrayStream
) à leur correspondant IsVisible
propriété? Cela signifie, par exemple, que la propriété IsChecked
du ColorStream
sera liée à la propriété 'IsVisible' du premier élément dans ObservableCollection
.
Notes secondaires, les propriétés OC doivent être en lecture seule, le point d'être une collection observable est qu'il a un événement CollectionChanged; le coller dans une propriété INPC est inutile. En outre, 'm_listOfStreams' eew. Allez lire les directives de conception de cadre. Vos collègues développeurs verront cela et vous jugeront calmement. – Will