Inline对象的继承树如下:
Object--DispatcherObject--DependencyObject--ContentElement--FrameworkContentElement--TextElement--Inline--Run Span---Italic . Bold..HyperLink .Underline
ContentElement需要借助UIElement元素来呈现出来。例:txb(TextBlock对象).Inlines.Add(new LineBreak());
按钮的继承树为:ContentControl---ButtonBase--Button 其中它从ButtonBase类继承了ClickMode属性来控制Click事件产生的时间,可取一下三个值之一。Release Hover(在上方即产生Click事件) Press 。Padding与Margin分别控制内边距与外边距。
而其Command属性可以设置为ApplicationCommands , ComponentCommands ,MediaCommands ,NavigateCommands
,EditingCommands 的静态属性。可以使用CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste,PasteOnExecute,PasteCanExecute));
void PasteOnExecute(object sender,ExecutedRoutedEventArgs e){}
void PasteCanExecute(object sender,CanExecutedRoutedEventArgs e){}
ButtonBase---Button ,GridViewColumnHeader,RepeateButton,ToggleButton---CheckBox ,RadioButton
可以使用绑定将依赖对象的属性与ToggleButton的IsChecked属性联系在一起 。例:btn(ToggleButton).SetBinding(ToggleButton.IsCheckedProperty,someproperty(例;TopMost) 或Bindind对象) 而DataContext决定someproperty的所属对象。
Control-- TextBase---TextBox , RichTextBox
对于RichTextBox对象可以使用如下方式载入特殊格式的文件:
FlowDocument flow=RichTextBox.Document;
TextRange range=new TextRange(flow.ContentStart,flow.ContentEnd);
range.Load(FileStream,DataFormats的静态属性);
range.Save(FileStream,DataFormats的静态属性);