我有一个Silverlight项目转换为MVVM。这是我第一次使用这种模式,并且我正在努力应对某些事情。将Silverlight转换为MVVM,几个问题
所以基本上我在网页后面的XAML代码有这样的:
OpenFileDialog ofd = new OpenFileDialog();
if ((bool)ofd.ShowDialog())
{
_fileName = ofd.File.Name;
FileStream fs = ofd.File.OpenRead();
fileSize = (double)fs.Length;
txtFileName.Text = fileName;
index = 0;
sendData = 0;
byte[] file = new byte[fs.Length];
fs.Read(file, 0, file.Length);
//convertToChunks(file);
prgUpload.Maximum = fileChunks.Count;
prgUpload.Value = 0;
//uploadChunks(index);
}
我无法弄清楚如何连接起来,以便能够使用模型?我认为视角模型发挥作用,但没有任何工作。
有什么想法?
这里正在进行XAML的工作:
<Grid x:Name="LayoutRoot" Width="475" Height="340">
<Canvas Margin="8,8,0,0" Background="White" Height="320" VerticalAlignment="Top" HorizontalAlignment="Left" Width="475">
<Button Width="75" Canvas.Left="380" Canvas.Top="43" Content="Browse" x:Name="btnBrowse" />
<TextBox Canvas.Left="25" IsReadOnly="True" Canvas.Top="43" TextWrapping="Wrap" Width="350" Text="{Binding Path=FileUploadName}" x:Name="txtFileName" />
<ProgressBar Height="10" Width="350" Canvas.Left="25" Canvas.Top="99" x:Name="prgUpload" />
<my:Label Content="Please select a file to upload" Name="lblError" Canvas.Left="25" Canvas.Top="23" RenderTransformOrigin="0.133,-0.063" Width="220"/>
<my:Label x:Name="lblProgress" Canvas.Left="25" Canvas.Top="78" RenderTransformOrigin="0.133,-0.063" Width="220"/>
</Canvas>
</Grid>
基本上我希望它激发用户选择要上传的文件后。
当你想发射事件?你可以添加你的XAML在你想要连接视图模型 –
视图绑定到ViewModels有一个模型。我相信你想通过你的ViewModel生成一个新的模型,并从你的视图发送数据。 – SQLMason
我了解视图 - > viewmodel - >模型。但我只是没有得到语法或某些东西来完成这一切。希望有人能够在每个阶段给我一个例子。 – PixelMuse