文件浏览器的问题之四

时间:11:33 2010-8-31

环境:
开发环境:VS2008 +XAML2CPP.EXE + SWE 2 + BLEND 2
运行环境:WINCE 6.0 R3
硬件加速: DirectX

文件类型的过滤

图片文件的显示

动画

其应该要使用策略模式与组合模式。

当前急需要解决的问题是什么呢。

UI:
1.  存储介质选择界面
2. 文件浏览界面
3. 当前路径提示栏界面
4. 图片浏览窗口
5. 图片浏览窗口的控制。
6. 文件类型过滤栏

总个软件其采用什么样的组织结构呢。

采用MVC

对于UI 其是要怎么样来组织呢
采用一个Shell UI, 其他UI XAML 当作自定义控件添加进去。

各个UI XAML是怎么样进行的显示的呢:
MS的SWE开发人员其是处理流程如下:
创建一个WIN32窗口,唯一的窗口
将一个PAGE.XAML 解析成一个VISUAL HOST.
其他XAML文件解析成一个自定义控件 添加到VISUAL HOST 当中得到显示。

在具体的实施过程当中,一般添加一个SHELL UI XAML来作为VISUAL HOST 的总代理。也就是其他XAML均是

添加到SHELL UI当中。

UI XAML 之间是怎么样进行通信的呢或者是怎么样控件其的数据流的呢。

MS的SWE开发人员对于UI XAML之间的通信的模式: 采用委托机制。可以自己定义一个委托。然后在相关事件

代码当中调用。

问题:
     在SWE 当中,SHELL UI 其是否从PAGE.XAML当中分离出来。

问题:   
    分页浏览控件的制作

从上到下分析:
BUTTON 的设置 ENABLE
TEXTBLOCK 设置数值

内容的添加。
内容的播放方式。

==> 对于控件的的高级操作。

分页控件(PageBrowser)
      其能够完成任务,但其不能够自行运动,要由CONTROLLER来调遣。==> 所有的类其实际也要由

CONTROLLER来调遣。其与CONTROLLER之间使用 Dependency injection 来保持通信,与控件之间用委拖

(DELEGATE) 来进行通信。

分页控件(PageBrowser)
    其要保存一份数据。

问题:
    创建一个自定义元素,向Canvas容器当中添加此元素,但其没有显示。
解法:
    通过创建一个内置控件(如BUTTON),看能否创建成功

[小插曲] 吃饭了,回的时候停电了,幸好有一个按ctrl+s的习惯。

时间:8:55 2010-9-1

问题:
    IXRApplication::CreateObject 创建失败

解法:
    试一下在XAML当中定义能否编译通过。

问题:
-2142830588
其是没有UI element的错误
     if (FAILED(retcode=root->FindName(L"canvasPage",&canvasPage)))
                    return retcode;

问题:
    设置ZIndex
解法:
    this->SetAttachedProperty(L"Canvas.ZIndex",100); 其不要求element 所在的容器一定要为Canvas.

问题:
    读取控件当中BSTR 类型的数据
解法:
     {
        IXRDependencyObject* source
         CString name;
         BSTR value;

         source->GetName( &value);

         name = value;
         SysFreeString(value);

         MessageBox(NULL,name,L"TIPS",MB_OK);
    }

问题:
    编写代码,为什么不能一次编译通过
解法:
    1. 要返回值的没有写返回值

在开发的过程过程,应该分清楚主次,将主要功能实现在说。

原文地址:https://www.cnblogs.com/pengxinglove/p/1815204.html