command WPF
-
קומנד יכול להיות מאוד שימושי עבור עריכת טקסט בתיבת טקסט עשיר למשל כך:
<StackPanel Orientation="Horizontal" Height="24" Background="{Binding ElementName=FsRichTextBoxControl, Path=ToolbarBackground}" > <!-- Font drop-down code from http://www.bennedik.de/2007/10/wpf-fast-font-drop-down-list.html --> <!-- Font family combo box --> <ComboBox x:Name="FontFamilyCombo" Height="23" Width="100" Margin="5,2,0,2" IsEditable="True" SelectionChanged="OnFontFamilyComboSelectionChanged"> <ComboBox.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel Width="250" /> </ItemsPanelTemplate> </ComboBox.ItemsPanel> <ComboBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding}" FontFamily="{Binding}" FontSize="15" Height="20"/> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> <!-- Font size combo box --> <ComboBox x:Name="FontSizeCombo" Height="23" Width="40" Margin="5,2,5,2" IsEditable="True" SelectionChanged="OnFontSizeComboSelectionChanged" /> <Button Command="ApplicationCommands.Cut" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Cut" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\editcut.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button Command="ApplicationCommands.Copy" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Copy" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\editcopy.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button Command="ApplicationCommands.Paste" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Paste" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\editpaste.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button Command="ApplicationCommands.Undo" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Undo" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\editundo.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button Command="ApplicationCommands.Redo" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Redo" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\editredo.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Image Source="Images\separator.png" Stretch="None" SnapsToDevicePixels="True" /> <ToggleButton x:Name="BoldButton" Command="EditingCommands.ToggleBold" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Bold" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\fontbold.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <ToggleButton x:Name="ItalicButton" Command="EditingCommands.ToggleItalic" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Italic" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\fontitalic.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <ToggleButton x:Name="UnderlineButton" Command="EditingCommands.ToggleUnderline" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Underline" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\fontunderline.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <Image Source="Images\separator.png" Stretch="None" SnapsToDevicePixels="True" /> <Button ToolTip="Format as normal (non-code) text" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1" Visibility="{Binding Path=CodeControlsVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Click="OnNormalTextClick"> <Image Source="Images\normaltext.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button ToolTip="Format as code block" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1" Visibility="{Binding Path=CodeControlsVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Click="OnCodeBlockClick"> <Image Source="Images\codeblock.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button ToolTip="Format as inline code" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1" Visibility="{Binding Path=CodeControlsVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Click="OnInlineCodeClick"> <Image Source="Images\codeinline.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Image Source="Images\separator.png" Stretch="None" SnapsToDevicePixels="True" Visibility="{Binding Path=CodeControlsVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" /> <ToggleButton x:Name="LeftButton" Command="EditingCommands.AlignLeft" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Align Left" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnAlignmentButtonClick"> <Image Source="Images\alignleft.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <ToggleButton x:Name="CenterButton" Command="EditingCommands.AlignCenter" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Align Center" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnAlignmentButtonClick"> <Image Source="Images\aligncenter.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <ToggleButton x:Name="RightButton" Command="EditingCommands.AlignRight" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Align Right" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnAlignmentButtonClick"> <Image Source="Images\alignright.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <ToggleButton x:Name="JustifyButton" Command="EditingCommands.AlignJustify" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Align Justify" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnAlignmentButtonClick"> <Image Source="Images\alignjustify.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <Image Source="Images\separator.png" Stretch="None" SnapsToDevicePixels="True" /> <ToggleButton x:Name="BulletsButton" Command="EditingCommands.ToggleBullets" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Bullets" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnListButtonClick"> <Image Source="Images\listbullets.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <ToggleButton x:Name="NumberingButton" Command="EditingCommands.ToggleNumbering" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Numbering" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnListButtonClick"> <Image Source="Images\listnumbers.png" Stretch="None" SnapsToDevicePixels="True" /> </ToggleButton> <Image Source="Images\separator.png" Stretch="None" /> <Button Command="EditingCommands.IncreaseIndentation" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Increase Indentation" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\indentincrease.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> <Button Command="EditingCommands.DecreaseIndentation" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Decrease Indentation" Template="{StaticResource FlatButtonControlTemplate}" Margin="0,1,0,1"> <Image Source="Images\indentdecrease.png" Stretch="None" SnapsToDevicePixels="True" /> </Button> </StackPanel>ראה שיש כאן שתי קבוצות של פקודות EditingCommands ו ApplicationCommands
פורסם במקור בפורום CODE613 ב09/03/2014 22:36 (+02:00)
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות