Tôi muốn nói cách sạch nhất để thực hiện những gì bạn đang tìm kiếm là sử dụng Popup. Lớp Popup hiển thị một phần tử nổi phía trên phần còn lại của các phần tử trên màn hình, nhưng không có phương thức và có thể được cấu hình biến mất khi người dùng nhấp chuột ra khỏi nó - hoàn hảo cho hộp thoại không có phương thức của bạn. Lớp Popup có các thuộc tính cho phép bạn kiểm soát nơi nó hiển thị liên quan đến điều khiển khác (trong trường hợp của bạn, nút bạn muốn người dùng nhấn để mở cửa sổ bật lên).
Dưới đây là một ví dụ tất cả-XAML:
<Grid>
<ToggleButton HorizontalAlignment="Center" VerticalAlignment="Top"
x:Name="PopButton" Content="Pop"/>
<Popup Placement="Bottom" PlacementTarget="{Binding ElementName=PopButton}" StaysOpen="False"
IsOpen="{Binding ElementName=PopButton, Path=IsChecked, Mode=TwoWay}">
<Rectangle Height="100" Width="200" Fill="Blue"/>
</Popup>
</Grid>
Bạn cũng có thể sử dụng lệnh hoặc xử lý sự kiện để mở/đóng cửa sổ bật lên từ mã.
Thuộc tính Vị trí và Vị tríTarget được đặt nơi cửa sổ bật lên xuất hiện và điều khiển nào sẽ xuất hiện tương ứng với (có các tùy chọn khác cho phép bạn xuất hiện tương ứng với vị trí hiện tại và tương đối so với con chuột). Thiết lập StaysOpen to False sẽ có WPF tự động đóng cửa sổ bật lên khi người dùng nhấp vào bên ngoài cửa sổ bật lên.
Theo mặc định, cửa sổ bật lên không có kiểu riêng - đó chỉ là vùng chứa cho nội dung nổi - vì vậy bạn sẽ phải tạo kiểu cho cửa sổ giống như cửa sổ chrome/toolbar/v.v. khi thích hợp.
Nguồn
2009-05-27 13:07:30
Đó chính xác là những gì tôi cần! Cảm ơn. –