Когда я открываю новое окно в WPF, элемент управления не отображается в режиме реального времени (используйте темы материалов).
Когда я добавляю событие нажатия кнопки в главном окне, а затем "Показать" новое окно, элементы управления нового окна не отображаются.
Если действие функции события нажатия кнопки не завершено, элементы управления нового окна не отображаются. Я не пользуюсь этой темой, она работает без каких-либо проблем по умолчанию.
Есть ли кто-нибудь, кто использует эту тему? Эта тема "MaterialDesignInXamlToolkit". Это в github.
Ниже приведен код проблемы, которую я имею.:
MainWindow.xaml.cs
namespace Wpftest
{
public partial class MainWindow : Window
{
uint handle = 0;
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
Window1 win1 = new Window1();
win1.Show();
if (handle == 0) <<---I hope the controls are displayed at this timing.
handle = 10;
if (handle == 0)
{
MessageBox.Show("Handle is 0!!", "", MessageBoxButton.OK, MessageBoxImage.Warning);
}
else
{
handle = 20;
}
win1.Close();
}
}
} <<----But at this timing, the controls are displayed.
MainWindow.xaml
<Window x:Class="Wpftest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wpftest"
xmlns:gif="http://wpfanimatedgif.codeplex.com"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800"
TextElement.Foreground="{DynamicResource MaterialDesignBody}"
Background="{DynamicResource MaterialDesignPaper}"
TextElement.FontWeight="Medium"
TextElement.FontSize="14"
FontFamily="pack://application:,,,/MaterialDesignThemes.Wpf;component/Resources/Roboto/#Roboto">
<Grid>
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="469,291,0,0" VerticalAlignment="Top" Width="210" Height="80" Click="button_Click"/>
<Image x:Name="image" gif:ImageBehavior.RepeatBehavior="Forever" gif:ImageBehavior.AnimatedSource="Resource\loading.gif" HorizontalAlignment="Left" Height="100" Margin="190,116,0,0" VerticalAlignment="Top" Width="100" Visibility="Hidden"/>
</Grid>
</Window>
Window1.xaml.cs
namespace Wpftest
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
Window1.xaml
<Window x:Class="Wpftest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wpftest"
mc:Ignorable="d"
Title="Window1" Height="262.387" Width="402.909">
<Grid>
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="270,169,0,0"/>
<Label x:Name="label" Content="TEST" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="41,66,0,0" Width="162"/>
</Grid>
</Window>