Как можно создать сообщение для пользователя, когда он пытается закрыть окно, установив WindowsStyle на None и предотвратив его закрытие, чтобы уведомить пользователя о недоступности этой функции?
Для предотвращения закрытия окна при нажатии на кнопку закрытия (крестик) в WPF с использованием C# можно перехватить событие Closing окна и отменить его действие. Вот пример кода: ```c# private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { MessageBox.Show("Недоступная операция. Для закрытия окна используйте другие доступные способы."); e.Cancel = true; } ``` Чтобы создать сообщение для пользователя при попытке закрыть окно с установленным WindowsStyle на None, можно использовать тот же подход - перехватить событие Closing окна и отменить его действие. Вот пример кода: ```c# private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (this.WindowStyle == WindowStyle.None) { MessageBox.Show("Недоступная операция. Для закрытия окна используйте другие доступные способы."); e.Cancel = true; } } ``` Таким образом, при попытке закрыть окно с установленным WindowsStyle на None, пользователь увидит сообщение о недоступности этой функции и окно не будет закрыто.
Просто не делай крестик - так не пойдет?
Можно так - я не претендую на профессионализм - сам не много ковырял.
Делаешь в MainWindow.xaml
<Window> <Border Background="#FF464B5F" CornerRadius="35"> <Grid> <Grid> <Grid.RowDefinitions> <RowDefinition Height="50"></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Grid Grid.Row="0" MouseDown="Grid_MouseDown" Background="Transparent"> // это будет "шапка" окна. за нее можно будет перетаскивать окно. </Grid> <Grid Grid.Row="1"> </Grid> </Grid> </Grid> </Border> </Window>
В файле MainWindow.xaml.cs делаешь
private void Grid_MouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) { this.DragMove(); } }
Ну из-за WindowsStyle = None у тебя нет ни крестика, не свернуть окно - поэтому решаешь сам - нарисовать иконку крестик и при нажатии выводить что хочешь