嵌套StackPanels有問題。如果我在下面的代碼中定義了StackPanels,則 按鈕將綁定到命令(MVVM和命令模式),但不會對按鈕單擊(命令函數未調用)做出反應。當我把stackPanel4放在第二個位置(在stackPanel3下面)時,一切正常。當我將stackPanel4移動到最後位置時(我有更多的StackPanels,然後是兩個父StackPanel內部),按鈕沒有被綁定,並且沒有調用命令函數。什麼可能是這種行爲的原因? 如果我爲stackPanel4設置DataContext,它就可以。在Silverlight 4中嵌套StackPanels和DataContext繼承問題
<StackPanel DataContext="{StaticResource vmUserMasterData}" Grid.Column="1" Height="320" HorizontalAlignment="Left" Margin="4,6,4,0" Name="stackPanel1" VerticalAlignment="Top" Width="491">
<StackPanel Height="40" Name="stackPanel4" Orientation="Horizontal" Width="440">
<Button Content="Update User Data" Name="button1" Height="23" Width="440" Command="{Binding Path=UpdateDataCommand}"/>
</StackPanel>
<StackPanel Height="31" Name="stackPanel3" Orientation="Horizontal" Width="440">
<sdk:Label Content="Username" Height="28" Name="label2" Width="74" />
<TextBox Height="23" Name="textBox2" Width="365" Text="{Binding Username, Mode=OneWay}" />
</StackPanel>
</StackPanel>
當你說下面StackPanel3,你的意思嵌套,或者物理地位於StackPanl3的結束標記之下? – Ben 2010-09-22 11:49:53
我的意思是身體在StackPanel3的結束標記之下。 – Aleksandar 2010-09-22 12:01:00