Просто не делай крестик - так не пойдет?
Можно так - я не претендую на профессионализм - сам не много ковырял.
Делаешь в 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 у тебя нет ни крестика, не свернуть окно - поэтому решаешь сам - нарисовать иконку крестик и при нажатии выводить что хочешь