WPF: System.ArgumentException => {"' {0 }' is not a Visual or Visual3D."}

标签 wpf exception listbox datagridtemplatecolumn

当我 双击 - 或者在它已经聚焦时单击一次 - 在我的 DataGridTemplateColumn 内的列表框的空白区域中的项目下方,然后我收到上述错误消息。

我做错了什么?

这是我的代码:

<DataGridTemplateColumn Width="0.3*" Header="Attachments">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <StackPanel Orientation="Vertical">
                <Button>Add</Button>
                <Button>Delete</Button>
                <ListBox Name="itemListBox" BorderThickness="0" ItemsSource="{Binding Attachments}" >                                   
                    <ListBox.ItemTemplate>
                        <DataTemplate>                                           
                            <StackPanel Orientation="Vertical" Margin="5">                                                
                                <TextBlock Text="{Binding DocumentFilename}" />
                            </StackPanel>                                            
                        </DataTemplate>
                    </ListBox.ItemTemplate>                                     
                </ListBox>
            </StackPanel>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn> 

请注意我在“myPhotos.png”项目条目下方单击的那个图像:
alt text
(来源:666kb.com)

编辑 :这个错误也已经通过工具提示在 XAML 中可见,只是还没有看到那个错误工具提示......

最佳答案

在数据网格中编辑列时出现同样的错误。这里 xaml 列:

 <DataGridTextColumn Header="Precio Unit." Binding="{Binding UnitPrice,StringFormat=0.00}" Width="Auto" MinWidth="115" />

但是错误发生在另一列;这里是xaml:
                        <DataGridTemplateColumn Header="Descripción" MinWidth="600" Width="Auto" IsReadOnly="True" >
                            <DataGridTemplateColumn.CellTemplate >
                                <DataTemplate >
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
                                        <TextBlock Text="{Binding FixedName, Converter={StaticResource toUpperConverter}}" Background="Transparent" 
                                                VerticalAlignment="Center" Margin="0"/>
                                        <TextBlock Margin="5,0,0,0" Foreground="#FFCB6A6A" FontWeight="Normal">
                                            <Run Text="( Stock "/>
                                            <Run Text="{Binding Stock}"/>
                                            <Run Text=" )"/>
                                        </TextBlock>
                                    </StackPanel>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

错误消失,明确指定:
<Run Text = "{Binding Stock, Mode = OneWay}" />

关于WPF: System.ArgumentException => {"' {0 }' is not a Visual or Visual3D."},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2375237/

相关文章:

wpf - 按钮 ControlTemplate 和圆角

asp.net - 更新面板刷新整个页面

.net - 如何在 WPF 中检测鼠标双击左键?

wpf - 无法在多线程中操作ObservableCollection

.net - 更新到 .net 4.0 后 wcf 回调异常

c++ - 无法在谷歌测试中检查异常类型

c# - 隐藏复选框,但显示其内容

wpf - 使用 SelectionMode = Multiple 对 ListBox 进行数据绑定(bind)

c# - WPF MVVM Light - 在工作完成前显示通知

java - 什么可能导致此异常?