0
我有以下代码,我从Code Behind创建UI控件。请参阅IsEnabled方法。我只想让用户控件的背景变得模糊,但问题在于它上面的文本块也变得模糊。这是整个代码。请帮忙。删除UserControl中的某些控件的模糊效果
public class UserControlLiveAnalysisBehaviour : System.Windows.Interactivity.Behavior<UserControl>
{
private UserControl CustomControlContent;
private bool IsExecuted;
protected override void OnAttached()
{
AssociatedObject.Loaded += UserControlLoadedHandler;
}
private void UserControlLoadedHandler(object sender, RoutedEventArgs e)
{
RegisterUserControlActivatedHandler();
}
private void RegisterUserControlActivatedHandler()
{
CustomControlContent = AssociatedObject;
if (CustomControlContent == null)
{
return;
}
var RunDataInstance = RunDataViewModel.Instance;
RunDataViewModel.RunDataFileSession<string> session = RunDataInstance.GetLiveSessionObject();
if (session != null)
{
if (session.IsLiveAnalysisSession)
{
IsEnabled();
}
}
}
private void IsEnabled()
{
if (!IsExecuted)
{
StackPanel stackPanel = new StackPanel();
ContentControl cc = new ContentControl();
StackPanel Sp = new StackPanel();
Sp.HorizontalAlignment = HorizontalAlignment.Center;
Sp.VerticalAlignment = VerticalAlignment.Center;
TextBlock tbl = new TextBlock();
tbl.Text = "Live Analysis is running. Please wait till it completes....";
tbl.HorizontalAlignment = HorizontalAlignment.Center;
tbl.VerticalAlignment = VerticalAlignment.Top;
Panel.SetZIndex(tbl, 1000);
//tbl.Style = TextBlockStyle();
Sp.Children.Add(tbl);
Sp.Background = System.Windows.Media.Brushes.Transparent;
BlurEffect effect = new BlurEffect();
effect.Radius = 3;
CustomControlContent.Effect = effect;
Sp.Effect = null;
cc.Content = CustomControlContent.Content;
stackPanel.Children.Add(cc);
stackPanel.Children.Add(Sp);
CustomControlContent.Content = stackPanel;
IsExecuted = true;
}
}
}