WPF 透明用户控件背景
WPF Transparent UserControl Background
嗯,这个问题我看了很多遍,但是所有给TS的答案都不适用于我的UserControl。 =(
问题是,当我在 Designer 中的 UserControl 上使用背景 属性 时,只有当我将它设置为真实颜色(如红色、蓝色、绿色等)时它才有效。
但是,当我尝试将其设置为透明时,它又变成了白色。
我有一个 window 看起来像这样
我想要实现的是这个
但我得到的只是这个(这个白色背景,或者除了透明之外的任何颜色)
关于如何实现它有什么建议吗?
P.S。这个自定义用户控件是一种 MessageBox
更新!忘记提及此控件的源代码
http://www.codeproject.com/Tips/563144/WPF-Dialog-MessageBox-Manager (by Ronald Schlenker)
public partial class LoginWindow : Window
{
public LoginWindow()
{
InitializeComponent();
string languageCode = CultureInfo.CurrentCulture.TwoLetterISOLanguageName;
string Path = System.AppDomain.CurrentDomain.BaseDirectory.ToString();
TimedCall();
}
private void TimedCall()
{
System.Threading.Timer timer = null;
timer = new System.Threading.Timer((obj) =>
{
ShowMessageBox();
timer.Dispose();
},
null, 3000, System.Threading.Timeout.Infinite);
}
private void ShowMessageBox()
{
var _dialogManager = new DialogManager(this, Dispatcher);
_dialogManager
.CreateMessageDialog("Test", "I'm a dialogafsaffsfsf", DialogMode.Ok)
.Show();
}
}
在您的 Window 上添加一个 Loaded 事件并在那里调用 TimedCall()。您的window还没有加载,所以您想要的背景还没有生效。
嗯,这个问题我看了很多遍,但是所有给TS的答案都不适用于我的UserControl。 =(
问题是,当我在 Designer 中的 UserControl 上使用背景 属性 时,只有当我将它设置为真实颜色(如红色、蓝色、绿色等)时它才有效。
但是,当我尝试将其设置为透明时,它又变成了白色。
我有一个 window 看起来像这样
我想要实现的是这个
但我得到的只是这个(这个白色背景,或者除了透明之外的任何颜色)
关于如何实现它有什么建议吗?
P.S。这个自定义用户控件是一种 MessageBox
更新!忘记提及此控件的源代码 http://www.codeproject.com/Tips/563144/WPF-Dialog-MessageBox-Manager (by Ronald Schlenker)
public partial class LoginWindow : Window
{
public LoginWindow()
{
InitializeComponent();
string languageCode = CultureInfo.CurrentCulture.TwoLetterISOLanguageName;
string Path = System.AppDomain.CurrentDomain.BaseDirectory.ToString();
TimedCall();
}
private void TimedCall()
{
System.Threading.Timer timer = null;
timer = new System.Threading.Timer((obj) =>
{
ShowMessageBox();
timer.Dispose();
},
null, 3000, System.Threading.Timeout.Infinite);
}
private void ShowMessageBox()
{
var _dialogManager = new DialogManager(this, Dispatcher);
_dialogManager
.CreateMessageDialog("Test", "I'm a dialogafsaffsfsf", DialogMode.Ok)
.Show();
}
}
在您的 Window 上添加一个 Loaded 事件并在那里调用 TimedCall()。您的window还没有加载,所以您想要的背景还没有生效。