Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > "SourceProperty" "ContentPresenter" Что это?


Автор: WolfTheGrey 12.11.2010, 06:44
Вот код собственно. 
Код

<ListView Name="list"
           Margin="20" Height="705" Width="786" Canvas.Left="-20" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
</ListView.ItemContainerStyle>
                    <ListView.ItemTemplate>
                    <DataTemplate>
                        <Border Name="bord" BorderBrush="LightCoral" BorderThickness="1" CornerRadius="10" Margin="10">

                            <StackPanel>
                                <StackPanel.Triggers>
                                    <!--<DataTrigger Binding="{Binding ElementName=image, Path=Source}" Value="{x:Null}">  

                                        <Setter TargetName="image" Property="Visibility" Value="Hidden"/>
                                        <Setter TargetName="texte" Property="Visibility" Value="Visible"/>
                                    </DataTrigger>-->
                                    <Trigger SourceName="image" Property="Source" Value="{x:Null}">                       //тут ругается, что: не удается найти статический член "SourceProperty" типа "ContentPresenter"
                                        <Setter TargetName="image" Property="Visibility" Value="Hidden"/>
                                        <Setter TargetName="texte" Property="Visibility" Value="Visible"/>
                                    </Trigger>
                                </StackPanel.Triggers>
                                <Image x:Name="image" Width="300" Height="200" Grid.RowSpan="2" Source="{Binding Path=Bimage}"/>
                                <TextBlock x:Name="texte" Visibility="Hidden" Text="{Binding Path=Etc}"/>
                                        <WrapPanel>
                                    <TextBlock Background="Aqua" Text="{Binding Path=NameFile}"/>
                                    <TextBlock Background="Aqua" Margin="10 0 10 0" Text="{Binding Path=Length_}"/>
                                </WrapPanel>
                            </StackPanel>
                        </Border>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

Автор: WolfTheGrey 16.11.2010, 12:52
Люди добрый ну ответьте. Что не так делаю?
Может это как с кнопкой? (там можно только эвент-тригер использовать).

Решил я эту беду иным путем. Задал свойство висибилити в коде. А в разметке всего лиш забиндил его значение. Без тригеров.

Автор: Irdis 16.11.2010, 13:49
WolfTheGrey 
попробуй написать тригеры не к StackPanel, а к DataTemplate. Мне такое помогало =)

Автор: WolfTheGrey 17.11.2010, 14:27
не помагло, Ругается мол не видно <Image x:Name="image"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)