WPF Combobox changing wrong fields in datatable
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
add a comment |
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
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
add a comment |
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
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
wpf vb.net combobox
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
add a comment |
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
add a comment |
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
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
answered Nov 22 '18 at 6:37
themightylcthemightylc
179113
179113
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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