WPF mục trình đơn với hình ảnh
Làm thế nào để xác định MenuItem.Icon để các văn bản MenuItemHeader sẽ được đặt bên dưới hình ảnh mục menu Cảm ơn? Để được giúp đỡ!
WPF mục trình đơn với hình ảnh
Làm thế nào để xác định MenuItem.Icon để các văn bản MenuItemHeader sẽ được đặt bên dưới hình ảnh mục menu Cảm ơn? Để được giúp đỡ!
Cách dễ dàng Cách thứ nhất là không sử dụng bất động sản Biểu tượng nhưng để thay đặt biểu tượng trong Header:
<Menu>
<MenuItem>
<MenuItem.Header>
<StackPanel>
<Image Width="20" Height="20" Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png" />
<ContentPresenter Content="Reports" />
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem Header="Export" />
<MenuItem Header="New record" />
</Menu>
Đối với trường hợp này đơn giản <ContentPresenter Content="Reports" />
có thể được thay thế bằng một <TextBlock Text="Reports" />
vì đó là những gì ContentPresenter sẽ sử dụng để trình bày chuỗi. Để phức tạp hơn Header=
, bạn có thể sử dụng ContentPresenter
như được hiển thị.
Làm thế nào một cái gì đó dọc theo dòng:
<ContextMenu>
<MenuItem Header="Reports">
<MenuItem.Icon>
<Image Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
Trong trường hợp của StackPanel Label sử dụng và không phải là TextBlock vì chỉ Label sẽ cho phép bạn có việc nhớ mật khẩu trên menu, như _Báo cáo.
Câu trả lời rất hay, ví dụ hoạt động tốt ;-). – Vytas
Câu trả lời dưới đây dễ dàng hơn và sử dụng thuộc tính Biểu tượng? –
@ AlexHopeO'Connor câu trả lời dưới đây cũng sai, nếu bạn sẽ đọc câu hỏi OP hỏi trong văn bản và không tiêu đề. Bạn có thể nhận thấy rằng câu trả lời dưới đây không khác biệt với mã mà OP cung cấp. Ông rõ ràng hỏi làm thế nào để hiển thị văn bản bên dưới hình ảnh và không phải là hình ảnh bên cạnh nó, DƯỚI ĐÂY. Đó là lý do tại sao câu trả lời này đặt một stackpanel bên trong tiêu đề với Định hướng dọc của nó mặc định. –