亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 WPF 窗口中“打孔”

如何在 WPF 窗口中“打孔”

C#
慕虎7371278 2022-10-15 15:17:36
我現在開始使用 WPF,我不知道它是否可能,但它應該是。我試圖在我的表單中創建一個完全透明的區域,刪除一個矩形內的所有內容(這些內容將是 AxWindowsMediaPlayer,如下所示),并且能夠看到我的窗口后面的內容。它可以在 WinForms 中使用 TransparencyKey 和面板,但 WinForms 并不能滿足我對這個項目的需求。例子:另一個例子:https://i.stack.imgur.com/I15Jg.gif
查看完整描述

4 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

這應該為您解決問題:


<Window

        [...]

        Title="MainWindow" MinHeight="200" MinWidth="400" WindowStyle="None" AllowsTransparency="True">

    <Window.OpacityMask>

        <ImageBrush                                                 

        ViewportUnits="RelativeToBoundingBox"

        TileMode="None" 

        ImageSource="/Images/rect.png"

        />

    </Window.OpacityMask>

 <!-- many many controls-->

</Window>

WindowStyle不需要


AllowTransparency必須是真的


并且圖像源只是一個中間有一個矩形透明部分的圖像。你也可以動態地畫這個!


結果:

http://img1.sycdn.imooc.com//634a5ed30001419b13150846.jpg

查看完整回答
反對 回復 2022-10-15
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

屏蔽可能是最接近 Windows 窗體的TransparencyKey.



查看完整回答
反對 回復 2022-10-15
?
森林海

TA貢獻2011條經驗 獲得超2個贊

 <Window x:Class="WpfApp5.MainWindow"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    xmlns:local="clr-namespace:WpfApp5"

    mc:Ignorable="d"

    Title="MainWindow" Height="450" Width="800"

    WindowStyle="None"

    Opacity="0.1"

    AllowsTransparency="True">   

 </Window>

使 WindowStyle="None" 和 AllowsTransparency="True" 獲得透明窗口。改變不透明度以獲得透明度


查看完整回答
反對 回復 2022-10-15
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

得到了這樣的東西。


<Window x:Class="WpfApp3.MainWindow"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d"

    Title="MainWindow" Height="450" Width="800" WindowStyle="None" AllowsTransparency="True" Background="Transparent">

<Grid>

    <Grid.RowDefinitions>

        <RowDefinition Height="*" />

        <RowDefinition Height="*" />

        <RowDefinition Height="*" />

    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>

        <ColumnDefinition Width="*" />

        <ColumnDefinition Width="*" />

        <ColumnDefinition Width="*" />

    </Grid.ColumnDefinitions>

    <Rectangle Fill="#66FFFFFF" Grid.Column="0" Grid.RowSpan="3"/>

    <Rectangle Fill="#66FFFFFF" Grid.Column="2" Grid.RowSpan="3"/>

    <Rectangle Fill="#66FFFFFF" Grid.Column="1" Grid.Row="0"/>

    <Rectangle Fill="#66FFFFFF" Grid.Column="1" Grid.Row="2"/>

    <Rectangle x:Name="workingRectangle" Fill="Transparent" Stroke="Red" Grid.Column="1" Grid.Row="1"/>

</Grid>

</Window>


查看完整回答
反對 回復 2022-10-15
  • 4 回答
  • 0 關注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號