wpfでカスタムメッセージボックスを作成しました。WPFウィンドウは、メイン画面内のカスタム起動場所/位置を設定します。
カスタムメッセージボックスビューXAML:
<Window x:Class="My.XAML.Controls.Windows.WpfMessageBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WpfMessageBox" MinHeight="160"
MinWidth="420" MaxHeight="750" MaxWidth="750"
Background="Transparent"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterScreen"
ShowInTaskbar="False" ResizeMode="NoResize"
WindowStyle="None" Topmost="True">
</Window>
私のメインウィンドウから、それをクリックしたときに、ユーザーがボタンからコールの例として、ボタンをクリックしたとき、私はメッセージボックスウィンドウWPFこのカスタムを示しています。
var messageBoxResult = WpfMessageBox.Show("Title", "MyMessage",
MessageBoxButton.YesNo, WpfMessageBox.MessageBoxImage.Warning);
if (messageBoxResult != MessageBoxResult.Yes) return;
*カスタムメッセージボックスのコードビハインドxaml.cs:
public partial class WpfMessageBox : Window
{
private WpfMessageBox()
{
InitializeComponent();
}
public static MessageBoxResult Show(string caption, string text, MessageBoxButton button, MessageBoxImage image, EnumLocation location)
{
switch (location)
{
case EnumLocation.TopLeft:
// Locates at top left
break;
case EnumLocation.TopCenter:
// Locates at top center
break;
case EnumLocation.TopRight:
// Locates at top right
break;
// and so on with the rest of cases: middle left, middle center, middle right, bottom left, bottom center and bottom right.
}
}
}
デフォルトでは、このカスタムメッセージボックスはメイン画面の中央に開きます。
ここでは、WpfMessageBox.Showメソッドにパラメータ(列挙)を渡して、カスタムメッセージボックスにメイン画面内のどこに配置するかを指定します。
- 左上
- トップセンター
- 右上
- 左中央
- 中東センター
- 右中央
- ボトン左
- ボトムセンター :パラメータは、これらのだろう
- ボトム右
どうすればいいですか?
[理由](https://msdn.microsoft.com/en-us/library/system.windows.windowstartuplocation(v = vs.110).aspx)を調査する必要がありますメイン画面の "*最初に。その後、もう少し複雑になりますが、[doable](https://stackoverflow.com/q/1927540/1997232)。 – Sinatr
ウィンドウを開く前にウィンドウの左と上のプロパティを設定します。 – mm8