با سلام.
من دکمه های زیر را با استفاده از کد ساختم:
کدش هم مانند زیر است:
List<string> name = new List<string>(); name.Add("آزمایشگاه"); name.Add("حسابداری"); name.Add("ترخیص"); name.Add("آزمایشگاه"); name.Add("حسابداری"); name.Add("ترخیص"); for (int i = 0; i < 6; i++) { TabItem ti = new TabItem(); ti.Header = name[i]; tabDynamic.Items.Add(ti); DockPanel dpanel = new DockPanel(); dpanel.Margin = new Thickness(0, -60, 20, 0); dpanel.Name = "dpanel"; dpanel.Background = SystemColors.HighlightBrush; dpanel.Height = 30; for (int j = 0; j < 5; j++) { Button TopRect = new Button(); TopRect.Background = new SolidColorBrush(Colors.LightCoral); TopRect.Height = Double.NaN; ; TopRect.Content = j; // Dock button to right DockPanel.SetDock(TopRect, Dock.Right); // Add docked button to DockPanel dpanel.Children.Add(TopRect); } ti.Content = dpanel;
اما نمیدانم چرا دکمه آخری از بقیه width آن بیشتر می شود
لطفا راهنمایی نمایید
با تشکر
سلام دوست عزیز
لطفا کد XAML این صفحه را هم قرار دهید تا بررسی کنم.
توی خط 13 ام کد بالا بجای :
DockPanel dpanel = new DockPanel();
از :
WrapPanel dpanel = new WrapPanel();
استفاده کنید.
DockPanel آخرین آیتم داخل خودش را به صورت Dock.Fill می شناسد برای همین آخرین دکمه کل خط را می گیرد ولی WrapPanel به Width آیتم توجه میکند و به همان اندازه فضا اشغال میکند.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)