WPF Dialog

      在〈WPF Dialog〉中尚無留言

WPF Dialog

MessageBox

 MessageBoxResult result = MessageBox.Show("確定要退出派工單?", "派工單維護", MessageBoxButton.YesNo, MessageBoxImage.Warning);
 if (result == MessageBoxResult.No) return;

當需要顯示自訂的對話方框, 通知使用者一些訊息, 或者需由使用者輸入資料時, 自訂對話方框就能派上用場了, 如下圖

dialog1

上面其實就是一個新的WPF Window, 在主程式中new 出這個視窗後, 使用ShowDialog() 顯示出來.

製作WPF Window

首先於專案中加入新增項目, 選取WPF(視窗), 並於XAML 寫入如下代碼.
請注意下面的取消按鈕中, 設定IsCancel=true, 表示按下取消後, 對話方框就會自動消失, 不需要再寫close().

<Grid>
    <Grid.Background>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FFC2FB97" Offset="0"/>
            <GradientStop Color="#FF05896D" Offset="1"/>
        </LinearGradientBrush>
    </Grid.Background>
    <StackPanel Orientation="Vertical" VerticalAlignment="Center">
        <Label Content="請輸入位址" HorizontalContentAlignment="Center" FontSize="18"/>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
            <TextBox x:Name="txt1" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Height="30" Width="70" BorderBrush="Black" />
            <TextBox x:Name="txt2" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Height="30" Width="70" BorderBrush="Black" Margin="10,0,0,0" />
            <TextBox x:Name="txt3" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Height="30" Width="70" BorderBrush="Black" Margin="10,0,0,0" />
        </StackPanel>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,10,0,0">
            <Button x:Name="btnCancel" Content="取消" Width="100" Height="30" IsCancel="True"/>
            <Button x:Name="btnOk" Content="確定" Width="100" Height="30" Click="btnClick"/>
        </StackPanel>
    </StackPanel>
</Grid>

致於C#程式主体中, 則撰寫如下

監色的DialogResult=true/false, 是在主程式中ShowDialog()後的傳回值, 由此判定是按了確定按鈕, 或是按了取消的按鈕

🔒 更多內容,請登入會員繼續閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *