Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么无法获取我的listview的图像?_C#_Wpf_Image_Visual Studio 2010_Ivalueconverter - Fatal编程技术网

C# 为什么无法获取我的listview的图像?

C# 为什么无法获取我的listview的图像?,c#,wpf,image,visual-studio-2010,ivalueconverter,C#,Wpf,Image,Visual Studio 2010,Ivalueconverter,大家好,我面临的一个问题是我的IValueConverter无法获得新图像: 我的代码正确吗? XAML文件: <Window.Background> <!--Budget Categories--> <DataTemplate x:Key="CategoriesName"> <Border BorderBrush="#FF000000" BorderThickness="1,1,0,1" Marg

大家好,我面临的一个问题是我的IValueConverter无法获得新图像:

我的代码正确吗? XAML文件:

<Window.Background>
        <!--Budget Categories-->
        <DataTemplate x:Key="CategoriesName">
            <Border BorderBrush="#FF000000" BorderThickness="1,1,0,1" Margin="-6,-2,-6,-2">
                <StackPanel Margin="6,2,6,2">
                    <TextBlock Text="{Binding Path=CategoriesName}"/>

                </StackPanel>
            </Border>
        </DataTemplate>

        <DataTemplate x:Key="CategoriesType">

            <Border BorderBrush="#FF000000" BorderThickness="1,1,0,1" Margin="-6,-2,-6,-2">
                <!--<StackPanel Margin="6,2,6,2">
                    <TextBlock Text="{Binding Path=CategoriesType}"/>
                </StackPanel>-->
                <StackPanel Margin="6,2,6,2">
                    <Image Source="{Binding Path=CategoriesType,Converter={StaticResource typeToImageConverter}}" Width="16" Height="16" Margin="3,0"/>
                    <TextBlock Text="{Binding Path=CategoriesType}"/>
                </StackPanel>
            </Border>
        </DataTemplate>



        <DataTemplate x:Key="CategoriesExpect">
            <Border BorderBrush="#FF000000" BorderThickness="1,1,0,1" Margin="-6,-2,-6,-2">
                <StackPanel Margin="6,2,6,2">
                    <TextBlock Text="{Binding Path=CategoriesTotalExpect}"/>
                </StackPanel>
            </Border>
        </DataTemplate>

        <DataTemplate x:Key="CategoriesActual">
            <Border BorderBrush="#FF000000" BorderThickness="1,1,1,1" Margin="-6,-2,-6,-2">
                <StackPanel Margin="6,2,6,2">
                    <TextBlock Text="{Binding Path=CategoriesTotalActual}"/>
                </StackPanel>
            </Border>
        </DataTemplate>
        <!--Budget Categories-->
</Window.Background>

   <ListView Height="320" HorizontalAlignment="Left" Margin="12,154,0,0" Name="CategoriesListView" VerticalAlignment="Top" Width="316" ItemsSource="{Binding}" ItemContainerStyle="{DynamicResource MyItemContainerStyle}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Categories" Width="150" CellTemplate="{DynamicResource CategoriesName}" />
                    <GridViewColumn Header="Types" Width="40"  CellTemplate="{DynamicResource CategoriesType}"/>
                    <GridViewColumn Header="Expect" Width="60"  CellTemplate="{DynamicResource CategoriesExpect}"/>
                    <GridViewColumn Header="Actual" Width="60"  CellTemplate="{DynamicResource CategoriesActual}"/>
                </GridView>
            </ListView.View>
        </ListView>

我找到了答案的解决方案,即字符串的格式。这导致我无法通过几个小时的故障排除和调试来检索映像。我终于找到了解决办法:

我这样解决它:在我的converter.cs中

  public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{

    string str = (string)value;
    string newString = str.TrimEnd();//Newly added compared with the old version

    if (newString == "income")
       return new BitmapImage(new Uri("pack://application:,,,/images/add.png"));

    if (newString == "Expenses")
    {
        //return new BitmapImage(new Uri(@"pack://application:,,,/HouseWivesSavior;component/images/add.png"));
        return new BitmapImage(new Uri("pack://application:,,,/images/edit.png"));
    }

    return null;
} 
从上面的内容可以看出,我添加了以下代码: 字符串newString=str.TrimEnd

因为我不想在字符串的末尾有额外的空格。在插入数据库期间,我的代码如下所示:

if (IncomeButton.IsChecked == true) {
                CategoryType = IncomeButton.Content.ToString();
            }else{
                CategoryType = ExpensesButton.Content.ToString();
            }
在运行期间,我发现了为什么值在费用而不是费用的格式中看起来很奇怪。。。因此,我尝试了修剪的结束部分,看看如何&宾果。我把它弄得很灵巧

我参考了这段视频,以了解如何跟踪该值:

感谢大家回答我的问题,很抱歉浪费了你们的时间和精力来解决我的问题:特别感谢回答我的布拉姆:
祝你们好运,祝你们今天愉快。

Windows.Background?并修复您的格式设置。描述正在发生的事情。你有其他专栏吗?转换器被调用了吗?
if (IncomeButton.IsChecked == true) {
                CategoryType = IncomeButton.Content.ToString();
            }else{
                CategoryType = ExpensesButton.Content.ToString();
            }