<>WPF in Lable No Wrap

If WPF Label The string inside is too long , Want it to wrap itself , It can be used TextBlock realization
<Label MaxWidth="550"> <TextBlock TextWrapping="Wrap" Text=
" Enter the text to wrap here , If it's long enough , also Label Of MaxWidth It's not enough to show it in one line ." /> </Label>
If you want to force a newline somewhere in a long string , It can be used
<Label MaxWidth="550"> <TextBlock TextWrapping="Wrap" Text=" Enter the text to wrap here , If it's long enough
also Label Of MaxWidth It's not enough to show it in one line ." /> </Label>
So it changes lines !

<> Array changes are not allowed during traversal

Do not enumerate the operations of a collection ( for example foreach) To perform the operation of modifying the collection . In many articles, the solution is to foreach Change to for loop , A simple method is recorded here . If you need to modify the collection , So you should use it first
ToArray() method , for example
foreach (var x in Mylist.ToArray()) { Possible modifications are performed here Mylist Operation of }
<>[WPF] animation Completed Event to get the execution of the animation UI object

WPF Animated in Completed Does not return to perform the animation itself UI object , But we can take advantage of additional properties Storyboard.TargetProperty To achieve the effect we want .
step : 1 Before performing the animation , Attach attribute record object first DoubleAnimation ani = new DoubleAnimation(); ani.From =
start; ani.To = end; ani.Duration = new Duration(TimeSpan.FromSeconds(0.25));
ani.Completed += ani_Completed; /* !!! Additional attributes Storyboard.Target, Object that specifies the execution of the animation UI object !!!
*/ Storyboard.SetTarget(ani, uiElement); /* Start animation */ uiElement.BeginAnimation(
Canvas.LeftProperty, ani); 2 In animated Completed Retrieve in event method if (sender is AnimationClock)
{   AnimationTimeline timeline = (sender as AnimationClock).Timeline; /* !!!
Add attributes to the UI Object retrieval !!! */ object uiElement = Storyboard.GetTarget(timeline); }
<>DevExpress GridControl set number , Line number setting

Set line number width
gridView1.IndicatorWidth = 30;
set number
private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.
XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) { if (e.Info.
IsRowIndicator&& e.RowHandle > -1) { e.Info.DisplayText = (e.RowHandle + 1).
ToString(); } }
<>DEV control GridControl Show horizontal scroll bar
set up GridControl Properties of ColumnAutoWidth = False. Setup process :Run Designer —>Property Editor—>
<> set up DEV The width of the horizontal vertical scroll bar in

<> set up form Border of

<>C# Prompt for login when registering service