WPF Combobox changing wrong fields in datatable












0















I'm working on a VB.net & WPF project, which contains a datatable with a combobox. When the cell with the combobox isn't being editted, the selected combobox value is being displayed in a textblock.



On my own PC (Windows 10), everything works fine. However, as soon as I transfer the program to the PC of my client (Windows 7), the comboboxes start to behave incorrectly. When I change the value of one of the comboboxes, other fields change as well. The weirdest thing is that sometimes all other fields in the same column change, and other times only a few. But in the end only the changed combobox field should change.



I recorded 2 small clips (see the URL below) in which you can see how it should work (the top one) vs. how it is working on Windows 7 (the bottom one).



https://imgur.com/gallery/F5MKnZv



This is the XAML code of the text/combobox:



<DataGridTemplateColumn Header="Reason for Write Off" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Name="ComboBox1" ItemsSource="{StaticResource ComboBoxReasonItems}" SelectedItem="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True" ></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>









share|improve this question























  • What are you trying to achieve with the ItemSynchronization? You are using the same static ItemsSource for all "rows" and synchronize them. check this docs.microsoft.com/en-us/dotnet/api/… and try to remove it. The seemingly "random" behaviour is most likely because of the datagrid's Virtualization

    – themightylc
    Nov 20 '18 at 11:51











  • @themightylc this was indeed the problem. The weird thing though is that it only happend on Windows 7 and not on Windows 10. But thanks anyway :)

    – Rick Tibbe
    Nov 21 '18 at 11:40











  • Glad I could help. I have posted my advice as an answer, if you have the time, you may accept it :)

    – themightylc
    Nov 22 '18 at 6:38
















0















I'm working on a VB.net & WPF project, which contains a datatable with a combobox. When the cell with the combobox isn't being editted, the selected combobox value is being displayed in a textblock.



On my own PC (Windows 10), everything works fine. However, as soon as I transfer the program to the PC of my client (Windows 7), the comboboxes start to behave incorrectly. When I change the value of one of the comboboxes, other fields change as well. The weirdest thing is that sometimes all other fields in the same column change, and other times only a few. But in the end only the changed combobox field should change.



I recorded 2 small clips (see the URL below) in which you can see how it should work (the top one) vs. how it is working on Windows 7 (the bottom one).



https://imgur.com/gallery/F5MKnZv



This is the XAML code of the text/combobox:



<DataGridTemplateColumn Header="Reason for Write Off" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Name="ComboBox1" ItemsSource="{StaticResource ComboBoxReasonItems}" SelectedItem="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True" ></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>









share|improve this question























  • What are you trying to achieve with the ItemSynchronization? You are using the same static ItemsSource for all "rows" and synchronize them. check this docs.microsoft.com/en-us/dotnet/api/… and try to remove it. The seemingly "random" behaviour is most likely because of the datagrid's Virtualization

    – themightylc
    Nov 20 '18 at 11:51











  • @themightylc this was indeed the problem. The weird thing though is that it only happend on Windows 7 and not on Windows 10. But thanks anyway :)

    – Rick Tibbe
    Nov 21 '18 at 11:40











  • Glad I could help. I have posted my advice as an answer, if you have the time, you may accept it :)

    – themightylc
    Nov 22 '18 at 6:38














0












0








0


1






I'm working on a VB.net & WPF project, which contains a datatable with a combobox. When the cell with the combobox isn't being editted, the selected combobox value is being displayed in a textblock.



On my own PC (Windows 10), everything works fine. However, as soon as I transfer the program to the PC of my client (Windows 7), the comboboxes start to behave incorrectly. When I change the value of one of the comboboxes, other fields change as well. The weirdest thing is that sometimes all other fields in the same column change, and other times only a few. But in the end only the changed combobox field should change.



I recorded 2 small clips (see the URL below) in which you can see how it should work (the top one) vs. how it is working on Windows 7 (the bottom one).



https://imgur.com/gallery/F5MKnZv



This is the XAML code of the text/combobox:



<DataGridTemplateColumn Header="Reason for Write Off" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Name="ComboBox1" ItemsSource="{StaticResource ComboBoxReasonItems}" SelectedItem="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True" ></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>









share|improve this question














I'm working on a VB.net & WPF project, which contains a datatable with a combobox. When the cell with the combobox isn't being editted, the selected combobox value is being displayed in a textblock.



On my own PC (Windows 10), everything works fine. However, as soon as I transfer the program to the PC of my client (Windows 7), the comboboxes start to behave incorrectly. When I change the value of one of the comboboxes, other fields change as well. The weirdest thing is that sometimes all other fields in the same column change, and other times only a few. But in the end only the changed combobox field should change.



I recorded 2 small clips (see the URL below) in which you can see how it should work (the top one) vs. how it is working on Windows 7 (the bottom one).



https://imgur.com/gallery/F5MKnZv



This is the XAML code of the text/combobox:



<DataGridTemplateColumn Header="Reason for Write Off" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Name="ComboBox1" ItemsSource="{StaticResource ComboBoxReasonItems}" SelectedItem="{Binding Path=reason, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True" ></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>






wpf vb.net combobox






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 '18 at 10:39









Rick TibbeRick Tibbe

73




73













  • What are you trying to achieve with the ItemSynchronization? You are using the same static ItemsSource for all "rows" and synchronize them. check this docs.microsoft.com/en-us/dotnet/api/… and try to remove it. The seemingly "random" behaviour is most likely because of the datagrid's Virtualization

    – themightylc
    Nov 20 '18 at 11:51











  • @themightylc this was indeed the problem. The weird thing though is that it only happend on Windows 7 and not on Windows 10. But thanks anyway :)

    – Rick Tibbe
    Nov 21 '18 at 11:40











  • Glad I could help. I have posted my advice as an answer, if you have the time, you may accept it :)

    – themightylc
    Nov 22 '18 at 6:38



















  • What are you trying to achieve with the ItemSynchronization? You are using the same static ItemsSource for all "rows" and synchronize them. check this docs.microsoft.com/en-us/dotnet/api/… and try to remove it. The seemingly "random" behaviour is most likely because of the datagrid's Virtualization

    – themightylc
    Nov 20 '18 at 11:51











  • @themightylc this was indeed the problem. The weird thing though is that it only happend on Windows 7 and not on Windows 10. But thanks anyway :)

    – Rick Tibbe
    Nov 21 '18 at 11:40











  • Glad I could help. I have posted my advice as an answer, if you have the time, you may accept it :)

    – themightylc
    Nov 22 '18 at 6:38

















What are you trying to achieve with the ItemSynchronization? You are using the same static ItemsSource for all "rows" and synchronize them. check this docs.microsoft.com/en-us/dotnet/api/… and try to remove it. The seemingly "random" behaviour is most likely because of the datagrid's Virtualization

– themightylc
Nov 20 '18 at 11:51





What are you trying to achieve with the ItemSynchronization? You are using the same static ItemsSource for all "rows" and synchronize them. check this docs.microsoft.com/en-us/dotnet/api/… and try to remove it. The seemingly "random" behaviour is most likely because of the datagrid's Virtualization

– themightylc
Nov 20 '18 at 11:51













@themightylc this was indeed the problem. The weird thing though is that it only happend on Windows 7 and not on Windows 10. But thanks anyway :)

– Rick Tibbe
Nov 21 '18 at 11:40





@themightylc this was indeed the problem. The weird thing though is that it only happend on Windows 7 and not on Windows 10. But thanks anyway :)

– Rick Tibbe
Nov 21 '18 at 11:40













Glad I could help. I have posted my advice as an answer, if you have the time, you may accept it :)

– themightylc
Nov 22 '18 at 6:38





Glad I could help. I have posted my advice as an answer, if you have the time, you may accept it :)

– themightylc
Nov 22 '18 at 6:38












1 Answer
1






active

oldest

votes


















0














If the Property IsSynchronizedWithCurrentItem is set to true, it synchronizes the selected Item in the ComboBox with the ItemsSource. As all "rows" bind to the same static List, and they all sync up, this behaviour is expected.



See Microsoft Docs






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391180%2fwpf-combobox-changing-wrong-fields-in-datatable%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    If the Property IsSynchronizedWithCurrentItem is set to true, it synchronizes the selected Item in the ComboBox with the ItemsSource. As all "rows" bind to the same static List, and they all sync up, this behaviour is expected.



    See Microsoft Docs






    share|improve this answer




























      0














      If the Property IsSynchronizedWithCurrentItem is set to true, it synchronizes the selected Item in the ComboBox with the ItemsSource. As all "rows" bind to the same static List, and they all sync up, this behaviour is expected.



      See Microsoft Docs






      share|improve this answer


























        0












        0








        0







        If the Property IsSynchronizedWithCurrentItem is set to true, it synchronizes the selected Item in the ComboBox with the ItemsSource. As all "rows" bind to the same static List, and they all sync up, this behaviour is expected.



        See Microsoft Docs






        share|improve this answer













        If the Property IsSynchronizedWithCurrentItem is set to true, it synchronizes the selected Item in the ComboBox with the ItemsSource. As all "rows" bind to the same static List, and they all sync up, this behaviour is expected.



        See Microsoft Docs







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 22 '18 at 6:37









        themightylcthemightylc

        179113




        179113






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391180%2fwpf-combobox-changing-wrong-fields-in-datatable%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            Npm cannot find a required file even through it is in the searched directory