コード例 #1
0
 public override void ExitLayout(Style style, bool breakAfter)
 {
     if(MaintainState)
     {
         base.ExitLayout(style, breakAfter);
         return;
     }
     //we are not maintaining state, so begin a new context
     BeginStyleContext();
     //create a WriterStyle and turn off formatting output
     WriterStyle newStyle = new WriterStyle(style);
     newStyle.Format = false;
     //Setup stack like it would be after base.EnterLayout()
     _currentState.Transition(newStyle, false);
     //transition to default state and capture output
     _currentState.Transition(_defaultWriterStyle);
     //close the context, to flush all pending tags
     EndStyleContext();
 }
コード例 #2
0
 internal DesignerTextWriter(bool maintainState) : 
     base(new StringWriter(CultureInfo.CurrentCulture), DesignerCapabilities.Instance)
 {
     MaintainState = maintainState;
     _defaultWriterStyle = new WriterStyle();
 }
コード例 #3
0
 public override void EnterLayout(Style style)
 {
     if(MaintainState)
     {
         base.EnterLayout(style);
         return;
     }
     //we are not maintaining state, so begin a new context
     BeginStyleContext();
     //create a WriterStyle and turn off formatting output
     WriterStyle newStyle = new WriterStyle(style);
     newStyle.Format = false;
     //transition to the new style, capturing output
     _currentState.Transition(newStyle);
     //Clear stack so we do not interfere with Write*()
     _currentState.Transition(_defaultWriterStyle, false);
     //restore the context
     EndStyleContext();
 }