In mui base project I declare a resource template control:
<ControlTemplate x:Key="loadingUserControlTemplate" TargetType="UserControl">
<Grid x:Name="loadingContainer">
<Border
Opacity="0.5"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter />
</Border>
<mui:ModernProgressRing x:Name="loadingAnimation"
IsActive="true"
Width="80"
Height="80"
Style="{StaticResource WaveProgressRingStyle}"
VerticalContentAlignment="Center" />
</Grid>
</ControlTemplate>
and base class as user control:
public class LoadingUserControl : UserControl
{
public bool _isLoading;
public Boolean IsLoading
{
get { return _isLoading; }
set
{
_isLoading = value;
var loading = base.GetTemplateChild("loadingContainer") as Grid;
if (loading != null)
{
if (value)
{
base.IsEnabled = false;
loading.Visibility = Visibility.Visible;
}
else
{
base.IsEnabled = true;
loading.Visibility = Visibility.Collapsed;
}
}
}
}
public LoadingUserControl()
{
base.Template = (ControlTemplate)App.Current.FindResource("loadingUserControlTemplate");
}
}
then problem is when I collapse my grid, collapsed parent grid! is it good idea? where is my mistake?
Use loading.Visibility = Visibility.Hidden; not collapse