//============================================================================
        //! 参加ボタンが押された時の処理
        private void _ClickJoin(object iSender, RoutedEventArgs iArgs)
        {
            //チェック
            var button = iSender as Button;

            if (button == null)
            {
                return;
            }

            //参加者の追加
            var member_Info = (MemberManager.SMemberInfo)button.Tag;
            var info        = new SJoinMemberInfo();

            info.mJoinID         = mJoinMemberList.Count;
            info.mMemberID       = member_Info.mID;
            info.mUseCharacterID = member_Info.mDefaultCharacterID;
            mJoinMemberList.Add(info);
            _RefreshMemberList();

            SelectMemberScrollViewer.ScrollToEnd();
        }
        //============================================================================
        //! メンバー状態を読み込み
        private void _ReadMemberData(string iFilePath)
        {
            try
            {
                var analayzer = new DL.CXmlAnalyzer();
                analayzer.AnalyzeXmlFile(iFilePath);
                var node = analayzer.GetRootNode().GetChildNodeFromPath("MemberList")[0];

                mJoinMemberList.Clear();
                foreach (var iNode in node.GetChildNode())
                {
                    var info = new SJoinMemberInfo();
                    info.mMemberID       = int.Parse(iNode.GetChildNode("MemberID")[0].GetNodeInfo().mValue);
                    info.mJoinID         = int.Parse(iNode.GetChildNode("JoinID")[0].GetNodeInfo().mValue);
                    info.mUseCharacterID = int.Parse(iNode.GetChildNode("CharacterID")[0].GetNodeInfo().mValue);
                    mJoinMemberList.Add(info);
                }
                _RefreshMemberList();
            }
            catch (System.Exception)
            {
                mJoinMemberList.Clear();
            }
        }