none
Прозрачность элемента основного окна формы (С#, WPF) RRS feed

  • Вопрос

  • Как можно сделать прозрачным элемент основного окна формы, чтобы сохранить WindowStyle="ToolWindow"? Написал код, но как известно при  AllowsTransparency="True" то WindowStyle="None" только None иначе ошибки.

    <Window x:Class="Wpfvision.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="List of items" Height="350" Width="525"
            AllowsTransparency="True" WindowStyle="None" Background="Transparent"
            MouseLeftButtonDown="Window_MouseMove"
            >
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="237*"/>
                <ColumnDefinition Width="280*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <GroupBox Header="Items" HorizontalAlignment="Left" Margin="10,10,0,10" Grid.RowSpan="2" Width="229" Grid.ColumnSpan="2">
                <ListBox HorizontalAlignment="Left" Margin="10,10,0,10" Width="192"/>
            </GroupBox>
            <Button Content="Add" Grid.Column="1" HorizontalAlignment="Left" Margin="41,112,0,0" VerticalAlignment="Top" Width="75" Grid.Row="1"/>
            <Button Content="Delete" Grid.Column="1" HorizontalAlignment="Left" Margin="152,112,0,0" Grid.Row="1" VerticalAlignment="Top" Width="75"/>
    
    
        </Grid>
    </Window>
    

    Ну и С# для перемещения формы

            private void Window_MouseMove(object sender, MouseEventArgs e)
            {
                this.DragMove();
            }

    24 июня 2015 г. 18:58

Ответы

Все ответы

  • http://futurevbnet.ru/publ/2-1-0-2

    Код там на VB, но я думаю разберетесь.


    VB.Net - WPF, WinRT, WP

    • Помечено в качестве ответа AlexFV 25 июня 2015 г. 16:53
    25 июня 2015 г. 8:24
    Отвечающий
  • Читал, там принцип в том, что с начало все убираем, а затем накидываем на прозрачную форму все, что хотим делать. Но не понятно тогда зачем есть WindowStyle="ToolWindow" и им нельзя воспользоваться. 
    25 июня 2015 г. 16:43
  • Но не понятно тогда зачем есть WindowStyle="ToolWindow" и им нельзя воспользоваться. 
    Им можно воспользоваться, но без поддержки прозрачности. Если вы внимательно читали статью, то заметили, что есть область окна подконтрольная разработчику, а есть подконтрольная Windows. Хотите получить полный контроль откажитесь от обертки ОС, а это WindowStyle="None"

    VB.Net - WPF, WinRT, WP

    25 июня 2015 г. 16:47
    Отвечающий
  • Но не понятно тогда зачем есть WindowStyle="ToolWindow" и им нельзя воспользоваться. 

    Им можно воспользоваться, но без поддержки прозрачности. Если вы внимательно читали статью, то заметили, что есть область окна подконтрольная разработчику, а есть подконтрольная Windows. Хотите получить полный контроль откажитесь от обертки ОС, а это WindowStyle="None"

    VB.Net - WPF, WinRT, WP

    Да это я понял. Спасибо.
    25 июня 2015 г. 16:53