Inheritance: VMContextElementEditable, IHasOrder
コード例 #1
0
 internal void IncreaseZoneIndex( VMZoneEditable zone )
 {
     Debug.Assert( Zones.IndexOf( zone ) == zone.Index );
     if( zone.Index < Zones.Count - 1 )
     {
         SwitchZones( zone, Zones.ElementAt( zone.Index + 1 ) );
     }
 }
コード例 #2
0
        private void SwitchZones( VMZoneEditable firstZone, VMZoneEditable secondZone )
        {
            if( firstZone == null || secondZone == null ) throw new ArgumentNullException( "One of the zones asking to be switched is null" );
            Debug.Assert( Zones.Contains( firstZone ) && Zones.Contains( secondZone ) );

            Zones.Remove( firstZone );
            Zones.Insert( firstZone.Index, secondZone );

            Zones.Remove( secondZone );
            Zones.Insert( secondZone.Index, firstZone );

            int firstZoneIdx = firstZone.Index;
            firstZone.Index = secondZone.Index;
            secondZone.Index = firstZoneIdx;

            OnPropertyChanged( "Zones" );
        }
コード例 #3
0
 internal void DecreaseZoneIndex( VMZoneEditable zone )
 {
     Debug.Assert( Zones.IndexOf( zone ) == zone.Index );
     if( zone.Index > 0 )
     {
         SwitchZones( zone, Zones.ElementAt( zone.Index - 1 ) );
     }
 }